OpenMP를 사용하여 실행을 병렬화하는 사전 작성된 선형 대수 라이브러리를 사용하고 있습니다.OpenMP 지원이없는 BLAS, ATLAS 및 LAPACK 빌드
지금 당장은 일부 작업을 병렬 처리하기 위해 OpenMP로 프로젝트 작업을하고 있습니다. 그래서 환경 변수 OMP_NUM_THREADS를 설정했습니다.
일부 스레드는 BLAS 및 LAPACK 선형 대수 루틴을 사용합니다. 이 라이브러리들은 또한 병렬 적이며 OMP_NUM_THREADS 환경 변수를 사용하여 그들이 사용해야하는 쓰레드의 수를 봅니다.
내 프로젝트의 요구 사항. 병렬이 아닌 BLAS 및 LAPACK 구현을 사용하여이 중첩 병렬화를 피할 필요가 있습니다.
최상의 라이브러리는 무엇이며 어떻게 구축 할 수 있습니까?
대단히 감사합니다.
질문 하나, 내가 사용하는 경우 : USE_THREAD = 1을 만들고 나서 OPENBLAS를 사용합니다. _NUM_THREADS = 4. 얼마나 많은 스레드가있을 것입니까? 왜냐하면 어떤 환경 변수가 정의 되더라도 항상 1 개의 스레드를 사용하는 BLAS 구현이 필요하기 때문입니다. – Rob
스레드가 컴파일 타임에 비활성화 된 경우 런타임에 다시 활성화 할 수 없습니다. – ztik
대단히 감사합니다 – Rob