Computer 23

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

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

Computer 2023.02.19

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

아이디어: partially connected neural network

며칠 전 갑자기 다른 사람과 대화하다가 최근 많이 사용되는 네트워크 이외에 다른 새로운것이 더 나올 수 있을까 라는 주제가 떠올랐습니다. 그래서 그 다음날 좀 생각하다가 다음 같은 아이디어가 떠올랐습니다. partially connected neural network (PCNN) 에 대한 새로운 가능성 입니다. 배경설명: artificial neural network 에서 많이 사용되는 네트워크 구조는 fully connected neural network (FCNN) recurrent neural network (RNN; LSTM, GRU 등) convolutional neural network (CNN; 1D, 2D, 3D CNN 등) graph convolutional neural network (..

linux mint 20.3 cinnamon 설치, UEFI 문제 해결

새로 산 컴퓨터에 linux mint 20.3 cinnamon를 설치했습니다. 도중에 여러 문제가 발생했는데, 대부분 UEFI 때문입니다. 지금까지는 레거시 (BIOS)를 사용했었는데, 레거시로 하려 했더니 다음과 같은 에러가 났습니다. "Ubuntu Error: The Partition table format in use on your disks normally requires you to create a separate partition for boot loader code. This partition should be marked for use as a Reserved BIOS boot area and should be at least 1MB in size. Fix this or else you w..

Computer 2022.05.09

bashrc 설정, 생성되는 파일 권한 설정

bash는 리눅스에서 많이 사용되는 쉘 환경 중 하나입니다. .bashrc는 bash 의 유저 설정 파일입니다. 새 터미널이 bash 로 시작되면. profile 이 먼저 읽어집니다. .profile을 열어보면 $HOME/.bashrc 파일이 있으면 $HOME/.bashrc 파일을 source에 추가하라고 되어있습니다. . $HOME/.bashrc 라 적힌 줄이 있습니다. 리눅스에서 . 은 source 명령어와 같습니다. source나 . 은 현재 쉘에 스크립트 파일을 적용하라는 의미입니다. 스크립트 파일이 실행 가능이 아닐 때 사용하는 것 같습니다. .bashrc 파일에서 자주 사용하는 설정입니다. umask 022 alias ssh='ssh -Y' alias ls='ls --color=tty -F' ..

Computer 2022.04.18

VHTS와 병렬 컴퓨팅: 3. job list 파일 공유를 이용한 병렬처리

멀티 코어가 보급되기 이전에 등장한 병렬 컴퓨팅은 기본적으로 여러 컴퓨터를 사용하는 방식이었습니다. 그중 가장 대표적인 것이 MPI (massage passing interface)입니다. 여러 프로세스 사이에서, massage를 주고받는 인터페이스입니다. 이는 서로 다른 컴퓨터에서 실행 중인 프로세스에서도 성립합니다. massage라고 표현했지만, 거대 데이터가 될 수도 있습니다. mpi를 실행할 때는 mpirun 같은 명령어를 사용하고, 실행 시에 MPI common world로 노드들이 묶여서 프로세서가 실행됩니다. 실행 이후에 common world를 변화시킬 수 없습니다. 특정 node에서 에러가 발생 시, 전부 종료하고 다시 시작해야 합니다. mpi 같은 메모리 상의 massage를 공유하는 ..

Computer 2022.03.28

VHTS와 병렬 컴퓨팅: 2. python multiprocessing 을 이용한 분자 처리

VHTS와 병렬 컴퓨팅: 1. 기초 개념, file split 에 이어 python multiprocessing을 이용한 분자 특성 계산방법을 설명하겠습니다. python에서 병렬 컴퓨팅을 지원하는 모듈은 여러 가지가 있습니다. 저는 multiprocessing을 선호합니다. concurrent.futures 도 사용해보긴 했는데, 구현 자체는 쉽지만 core수가 많아지면 병렬화 효율성이 크게 떨어집니다. 작업환경은 EPIC 64 cores*2 cpus입니다. 분자 데이터 처리, 혹은 특성 계산은 많음은 수의 독립적인 데이터에 대해서 동일한 함수로 처리할 경우에 해당됩니다. 이런 경우에 적합한 병렬구조는 master/workers로 이루어진 구조입니다. master가 잡을 관리 하면서 worker에게 잡..

Computer 2022.02.27

VHTS와 병렬 컴퓨팅: 1. 기초 개념, file split

저는 컴퓨터 전공자는 아니라 체계적으로 개념을 배운 것은 아니고, 연구에 필요해서 실용적으로 배우다 보니 용어에 오개념이 있을 수도 있음을 양해해주시기를 부탁드립니다. 작업 환경은 linux입니다. 신약개발에서 가상탐색 virture high throuput screening (VHTS)이 사용된 것은 아마도 CADD의 역사와 비슷할 것이지만, 최근에는 ultra large scale이라 불릴 정도의 규모... 수천만, 수억, 수십억 이상의 분자를 가상 탐색하는 것이 트렌드입니다. 여기에 필요한 기술 중 하나가 병렬 컴퓨팅입니다. 병렬 컴퓨팅의 필요성은 다음과 같습니다. 기본적으로 하나의 프로세스는(소프트웨어) 하나의 프로세서를(하드웨어) 사용합니다. 하지만 하나의 프로세서로 낼 수 있는 성능에는 한계가..

Computer 2022.02.27

머신러닝과 통계분석: 예측에 필요한 정보에 대해

머신러닝이나 통계분석에서 주로 사용하는 용어들 중에 예측 (prediction), 판별(discrimination), 분류(classification), regression(회기), 라는 용어들이 있습니다. 사전적 의미에서 예측은 앞으로 있을 일을 미리 헤아려 짐작함 이고, 판별은 판단하며 구별함 이긴 하지만, 과거를 보고 미래를 짐작하는 것 (예측)이나 데이터의 주어진 특성를 보고 미지의 특성을 판별 하는 것은 기술적으로 같은 것입니다. 데이터의 특성 중 입력으로 주어진 것을 feature 라 부르고, 예측해야할 대상을 label 이라 부릅니다. 어떤 함수 f로 모델링한 경우라면, Y = f(X) 에서 X는 feature이고, Y는 label 입니다. 예측해야할 label이 어떤 부류에 속하는가를 예측..

vi 에디터 vimrc 설정 예시

vi (vim) 에디터는 가볍고, 다양한 기능이 있어서 리눅스에서 많이 사용됩니다. 요즘은 다른 에디터를 사용하는 사람도 많지만... 제가 사용하고 있는 vimrc 설정입니다. ~/$HOME/.vimrc 파일에 저장하면 vim을 실행할 때마다 반영되고, vi 를 열고 :를 치고 한 줄씩 입력할 수도 있습니다. vim에서 " 는 주석처리 입니다. set paste를 사용할 경우 다른 옵션과 충돌하는 경우가 있어서 사용할 때만 set paste를 직접 입력해주고 있습니다. 이름을 보면 대충 추측 가능하긴 한데, 옵션 하나하나는 잘 기억이 안 나네요. "set paste set nocompatible set incsearch set title set number set hlsearch set showmatch..

Computer 2021.10.22