Research/Programming 2

GIL. python

파이썬으로 고성능의? 아니 병렬화된 어떤 코드를 개발할 때, 항상 걸림돌이 되는 요소가 GIL(Global Interpreter Lock) 이다. ML 관련된 다양한 일들을 하면서, 파이썬이 상당히 각광받고 있는 것도 사실이지만, 반대로 이걸로 서비스를 개발하려고하면, 당면할 수 밖에 없는 문제가 바로 GIL 이다. 어? 근데 파이썬도 스레드를 지원하잖아요? 라고 묻는다면, 그 스레드가 여러개가 동시에 동작하더라도, 결국엔 하나의 스레드만 파이썬 오브젝트에 접근할 수 밖에 없기 때문에, 사실상 Single-threaded 프로그램과 다를 바 없으며, 그래서 원한만큼 효율을 높이는 데에는 한계가 있음을 알 수 있다. 이러한 특징으로 파이썬에서는 병렬화된 프로그래밍을 한다고 하면, 프로세스를 늘리는 형태로 ..

hdf5 cmake in ubuntu

쉬운건데, 이상하게 매번 걸리적거리고 피곤하게 처리하는 내용이라 정리해놓는다. 1. 아래 홈페이지에서 Preconditions에 Windows/Unix 링크 다운https://support.hdfgroup.org/HDF5/release/cmakebuild.html 2. 어딘가에 압축 풀어놓기.. or 설치 3. HDF5-1.10.1-Linux.sh 실행 여기까진 뭐 그냥 쉽게 잘 간다. 마무리로 .bashrc 든 윈도우 환경이든HDF5_DIR=뭔가설치된 폴더/cmake 지정example) export HDF5_DIR=/usr/local/HDF_Group/HDF5/1.10.1/share/cmake 위에 HDF5_DIR 지정해주면, cmake 에서 hdf5 에 대한 내용들을 인식하여 처리할 수 있다.