머신 러닝 연구용으로 아치리눅스 사용 중입니다. 최신 라이브러리 upstream을 따라가기 좋다는 장점은 있지만 github 등지에 공개된 학습 코드를 빌드하고 실행할 때 성가신 점이 꽤 있습니다. 리눅스와 빌드 시스템에 해박하신 게 아니라면 우분투를 쓰시는 게 연구에 집중하기에 났습니다.
연구자들 사이에서 우분투가 de facto다 보니 apt install을 기준으로 된 dependency 설명으로부터 아치리눅스 pacman과 aur에서 상응하는 패키지를 알아서 찾아야 합니다.
그리고 아치 특성상 무조건 최신 버전의 python을 쓰게 되는데, 이것 때문에 구버전 기준으로 작성된 라이브러리와 실험 코드를 돌리기 어려워지는 문제가 있습니다.
aur에서 구버전 파이썬 깔고 virtual env 쓰면 되지 않나 싶으실 수 있는데, 일부 C나 Boost 컴파일이 필요한 경우에 virtual env를 제대로 인식하지 못하고 시스템의 가장 최신 파이썬 헤더와 라이브러리를 끌어다 쓰면서 빌드 실패하는 경우가 있습니다. virtualenv는 파이썬 환경을 가상화하는 거지 C 개발환경을 가상화하는 게 아니라서요. 재수없으면 Makefile, CMakeLists.txt, setup.py를 직접 뜯어고치게 됩니다.
속편하게 docker 안에서 개발하시겠다면 위 문제는 겪지 않겠습니다만... 그렇다면 호스트가 아치인지 우분투인지는 애초에 무관하게 되네요.
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp 지나치게 큰 이미지의 크기는 조정될 수 있습니다.
쓰시는 tool 매뉴얼에서 아치리눅스 유무를 확인하시는 게 편할 거에요
그리고 코딩 컴파일의 효율을 물어보셨는데 어떤 걸 말씀하시는지 잘 모르겠네요
효율은 컴파일러를 어떻게 쓰느냐에 따라 다르지 않을까요?
근데 어떤 이유로 예전 버전을 꼭 써야 한다는 상황이 생기면...힘듭니다.
특히 CUDA를 안쓴다면 모를까 공식 지원 배포판이 정해져있기 때문에 다른걸 선택하는건 자살행위와도 같습니다.(nvidia 개발자 포럼에서 지원받을수 없으니 알아서 찾아야죠) ROCm은 피하세요.
쫌 다양하게 프로젝트 이것저것 건들고 Kernel, Nvidia driver bug fix 업그레이드하다보면 패키지 환경깨지는 건 일도 아닙니다. 아치를 쓴다면, 깨진 시스템 고치고 버전 원복하느라 시간 허비하기 쉽습니다. 공식적으로 지원되고 안정적인 환경을 고르세요.
만약 컨테이너로 개발할수 있을정도로 환경 세팅에 자신있다면 아치도 나쁘지 않겠네요. 인텔리J나 VSCODE기반으로 하셨다면 코딩은 큰 무리가 없습니다.
연구자들 사이에서 우분투가 de facto다 보니 apt install을 기준으로 된 dependency 설명으로부터 아치리눅스 pacman과 aur에서 상응하는 패키지를 알아서 찾아야 합니다.
그리고 아치 특성상 무조건 최신 버전의 python을 쓰게 되는데, 이것 때문에 구버전 기준으로 작성된 라이브러리와 실험 코드를 돌리기 어려워지는 문제가 있습니다.
aur에서 구버전 파이썬 깔고 virtual env 쓰면 되지 않나 싶으실 수 있는데, 일부 C나 Boost 컴파일이 필요한 경우에 virtual env를 제대로 인식하지 못하고 시스템의 가장 최신 파이썬 헤더와 라이브러리를 끌어다 쓰면서 빌드 실패하는 경우가 있습니다. virtualenv는 파이썬 환경을 가상화하는 거지 C 개발환경을 가상화하는 게 아니라서요. 재수없으면 Makefile, CMakeLists.txt, setup.py를 직접 뜯어고치게 됩니다.
속편하게 docker 안에서 개발하시겠다면 위 문제는 겪지 않겠습니다만... 그렇다면 호스트가 아치인지 우분투인지는 애초에 무관하게 되네요.