분류 전체보기 396

병렬 컴퓨팅, 멀티 프로세싱, python GIL

2007년은 제가 대학원에 입학한 해이고, 본격적으로 컴퓨터를 활용한 계산 연구를 시작한 해입니다. 그리고 멀티코어 CPU들이 보급되기 시작한 시기이기도 합니다. 뭐 서버는 그전부터 2개의 CPU를 장착하거나, 여러 서버들을 연결하여 클러스터를 구성하고 있었습니다만... 이때쯤 본격적으로 개인용 컴퓨터(PC) 에도 여러 개의 코어가 장착되어 병렬 컴퓨팅을 활용할 수 있게 되었습니다. 아무튼 제가 연구를 시작할 시기부터 병렬 컴퓨팅은 (컴퓨터 자원을 어느 정도 필요로 한다면) 당연히 활용해야 하는 기술이었습니다. 멀티 코어 CPU 외에도 한 코어를 논리적으로 2개의 코어처럼 취급하려는 하이퍼스레딩 (인텔) 이 나오긴 했지만, 실제 성능 향상이 거의 없어서 활용하지 못하다가 최근에는 30% 정도의 성능 향상..

Computer 2023.03.05

퇴사했습니다.

2월 28일로 퇴사했습니다. 당분간 프리랜서로 일하면서 그동안 하고 싶었던 연구들을 해야겠습니다. sparse neural network 학습방법 개발 (최근에 힌튼께서 forward forward algorithm 논문을 발표하셔서 이 아이디어를 도입할 수 있을 것 같습니다.) 약물 설계에 도움이 될만한 툴들 웹 서비스 (kinome tree 에서 약물이 어디에 가까운지 분류하는 모델 개발 및 서비스 등) ADME 예측 모델 개발 이걸 굳이 해보고 싶은 이유는, 약물에서 대사에 취약한 작용기가 있어도, 그것이 외부로 노출되지 않았다면 대사를 피할 수 있습니다. 일반적인 graph 에선 그런것들을 식별하기 어렵기에, 3차원 구조 정보가 어느정도 필요합니다. 그래서 3차원 구조 정보를 반영할 수 있는 gr..

이야기 2023.03.01

직장의 의지

의지라는 것은 말로만 하는 것도, 정신론도 아닙니다. 이루려는 바를 달성하는 것을 핵심 과제로 삼고 자원을 적극적으로 투입하는 것입니다. 예산, 인력, 시간 등 다양한 자원을 필요한 만큼 투입하는 것이지, "일단 해서 성공하면 그다음에 자원을 투입하겠다." 같은 것을 의지라 하지 않습니다. 애초에 저런 식으로 해서 성공할 수 없는 일이 많습니다. 직장이 직원에게 요구하는 의지가 저런 식으로 대충 간 보는 것입니까? 아니면 인생을 걸고 적극적으로 하는 것입니까? 제가 경험했던 직장들은 대체 무슨 일을 이루겠다는 의지 같은 것이 안 보입니다. 1년간 인적 성장률이 0% 혹은 마이너스입니다. 그러면서 중요한 일을 해야 한다고 합니다. 하지만 무언가 하려고 하면 그것이 우리 역량으로 할 수 없다고 하지 말라고 ..

이야기 2023.02.23

wsl 2 pytorch cuda gpu 설치

wsl2에서 pytorch 를 설치하려다가 cuda 지원되는 버전이 잘 설치가 안돼서 좀 찾아봤습니다. 결국이리저리 시도 하다가 해결을 했습니다. pytorch에서 cuda를 사용하기 위해선 당연히 cuda가 지원되는 그개픽카드가 있어야 합니다. 공식 홈페이지에선 conda install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch -c nvidia 를 입력하라고 나옵니다만...pytorch 가 gpu 버전 대신 cpu 버전으로 설치돼버리더군요. 저 중에 pytorch-cuda 라는게 별로 있어도 도움이 안 되는 듯... 일단, linux에 별개의 그래픽카드 드라이버를 설치할 필요는 없고, windows에서만 최신 버전의 그래픽 카드 드라이버..

Computer 2023.02.20

윈도우에서 linux 사용 (WSL 2), xwindows GUI 설정 (수정)

계산과학 분야의 많은 프로그램들은 linux (서버) 환경에서 사용하도록 만들어져 있습니다. 맥이나 윈도우에서 사용 가능한 것들도 있지만, 아무래도 대규모 계산은 고성능 서버 (혹은 클러스터)에서 진행하는 것이 일반적이고, 이런 서버들은 주로 linux 운영체제를 사용합니다. 가벼운 연산의 경우는 PC나 워크스테이션 한대로도 어느 정도 할 수도 있고, 특히 CUDA 같은 GPU 컴퓨팅이 등장하면서 개인용 컴퓨터로도 (딥러닝 같은) 고성능의 연산이 가능해졌지만, 이런 작업에서도 여전히 linux를 많이 사용합니다. Microsoft에서 Windows Subsystem for Linux (WSL) 이라는 것을 제공합니다. 말 그대로, 윈도우에서 리눅스를 서브시스템으로 사용할 수 있게 하는 것입니다. 윈도우 ..

Computer 2023.02.19

소갈비 오븐 구이, 로스트 비프

아무튼 충동적으로 소갈비 4.5kg를 샀습니다. 미국산 냉동이고, 셀렉트 등급에 아마 6,7,8번대 꽃갈비였을 겁니다. 하루 해동했습니다. 미트박스에서 kg당 13000원대 정도에 샀습니다. 뭐 오븐에서 적당히 구웠습니다. 한 덩어리는 종이에 싸서, 다른 덩어리는 그냥 구웠습니다. 총 3시간 구웠습니다. 원래 저온 장시간으로 하려 했는데, 예전에 뼈 붙은 부분이 잘 안 익어서 이번에는 140도 1시간, 160도 1시간 180도 1시간으로 했습니다. 그래서 수분이 좀 많이 날아간 것 같습니다. 종이에 싸지 않고 구운 것은 좀 퍽퍽해진 것 같은데, 종이에 싸서 구운것은 매우 부드러웠습니다. 맛있었습니다. 점심은 소갈비와 참돔, 우럭 회... 내일은 꼬막과 홍합이네요. ㅠㅠ... 아까 홍합 5kg, 꼬막 2k..

Food 2023.02.17

도미, 우럭 회 뜨기, 다시마 숙성

요즘 충동구매를 억제하기 힘들어지고 있습니다. 소갈비 5kg, 홍합 5kg, 꼬막 2kg, 도미 1마리, 우럭 2마리 기타 등등 을 주문해 버렸습니다. 도미와 우럭은 비늘과 내장을 제거한 상태로 왔습니다. 도미는 머리가 워낙 딱딱해서 그런지, 머리를 갈라서 보내줬네요. 좀 엉성하지만, 뼈를 제거했습니다. 투박한 칼로 뜨려니 영 잘 안되네요. 뱃살 살짝 먹어봤는데, 기름이 아주 잘 올라서 광어 지느러미 같은 맛이 나네요. 맨날 하는 대로 소금을 살짝 뿌리고 다시마 숙성했습니다. 술 같은걸 좀 끼얹었습니다. 남은 뼈와 머리는 물에 넣고 끓이다가, 살만 따로 건져내고 국물은 걸러서 따로 보관했습니다. 어탕국수 만들어 먹을 예정입니다. 우럭은 사진 찍어둔게 없네요. 우럭도 엄청 기름지고 맛있던데... 회는 직장..

Food 2023.02.17

AMD 라이젠 7700X, B650 메인보드, AM5 쿨러 조립, 부팅 실패

이전에 쓰던 컴퓨터 상태가 영 안 좋아서 급하게 새로 샀습니다. 다나와에서 부품을 선택했습니다. CPU: AMD 라이젠7-5세대 7700X (라파엘) (정품) 메인보드: ASUS TUF Gaming B650-PLUS 대원씨티에스 메모리: 삼성전자 DDR5-4800 32GB * 2 SSD 삼성전자 PM9A1 M.2 NVMe 병행수입 (2TB) * 2 GPU: INNO3D 지포스 RTX 4070 Ti D6X 12GB X3 케이스: 아이구주 PRAY 30 PLUS (블랙) 파워: 마이크로닉스 Classic II 850W 80PLUS GOLD 230V EU 풀모듈러 쿨러: 잘만 CNPS9X PERFORMA (BLACK) (이 보드에는 장착이 안되었습니다.) 3R시스템 RC400 찾아봤더니 부품별로 따로 구매하는..

Computer 2023.02.12

Protein bioinformatics: 구조-기능-진화와 머신 러닝

저는 조금 다양한 분야를 연구한 것 같습니다. 그중에서도 저에게 가장 흥미 있는 분야는 생물정보학이라고 생각합니다. 오늘은 단백질 생물정보학과 머신러닝의 관계에 대해 이야기하겠습니다. 저는 단백질 생물정보학에서 처음 머신러닝을 접하였습니다. 머신러닝에서 중요한 주제 중 하나는 데이터의 분포와 매니폴드입니다. 예를 들어 28*28 픽셀의 그림에서, 오직 흑과 백 두 가지 경우만 존재한다고 생각해 봅시다. 이때, 이 픽셀에 흰점과 검은 점을 조합할 수 있는 총경우의 수는 2^(28*28) 가지입니다. 이 그림 파일의 각 가능한 조합의 경우를 28*28 bit로 표현할 수 있을 것입니다. 그런데, 대부분의 조합들은 아마도 우리가 신호 없는 모니터에서 보는 흑백이 랜덤 하게 뿌려진 노이즈에 해당할 것입니다. 질..