openblas하고 blas하고 차이 좀 질문드릴께요
다른 곳에서 개발된 C++코드가 링크시 openblas를 요구합니다. (즉 -lopenblas)
이 코드를 어떤 클러스터에서 돌리는 데 이 클러스터에서 사용 가능한 모듈로 blas는 있는데
openblas는 없습니다.
제가 패키지를 깔 권리가 있는 제 컴이면 그냥 openblas 패키지를 깔면 되는데 그런 권한은 없고,
Blas하고 OpenBlas에 대해 아는게 거의 없어 뭐가 뭔지 몰라 해매고 있는데요,
locate 명령어로 찾아보니 /usr/lib64/libopenblas.so.0 이 파일이 있지만
제가 쓰는 클러스터의 특성 상 이 directory를 링크로 걸수가 없어
제 홈디렉토리 밑에 이 파일을 복사하고 제 홈 디렉토리를 LD_LIBRARY_PATH로 거니
일단 돌아는 가는데
왠지 속도가 느린게 OpenMP가 잘 안먹는 느낌이 납니다 (제 착각일 수는 있어요).
그래서 위의 openblas 라이브러리 설정이 맞나 하는 의구심이 들고,
한편 openblas 소스를 받아 컴파일 해 보려 했는데,
왠지 이 openblas 소스는 intel compiler로는 되는데 gcc로는 안되고,
제가 받은 코드는 또 intel에서는 안되고 gcc로만 컴파일 되고, 그래서 복잡해 졌네요.
그래서 질문인데요,
openblas를 사용하게 만들어 진 프로그램을 blas를 사용하게끔 고치는 게 어려울 까요 ?
그렇게 할 경우, 연산 속도 등 성능에서는 어떤 차이를 보일까요 ?
댓글 달기