Я использую некоторые готовые библиотеки линейной алгебры, которые используют OpenMP для параллелизации их выполнения.Построение BLAS, ATLAS и LAPACK без поддержки OpenMP
Сейчас я работаю над проектом с OpenMP для параллелизации некоторых задач. Поэтому я установил переменную окружения OMP_NUM_THREADS.
Некоторые потоки используют процедуры линейной алгебры BLAS и LAPACK. Эти библиотеки также параллельны и рассматривают переменную окружения OMP_NUM_THREADS, чтобы увидеть количество потоков, которые они должны использовать.
Для требований моего проекта. Мне нужно избегать этой вложенной распараллеливания, используя не параллельную реализацию BLAS и LAPACK.
Что такое лучшая библиотека и как ее можно построить?
спасибо, что заранее.
один вопрос, если я использую: make USE_THREAD = 1, а после этого я использую экспорт OPENBLAS _NUM_THREADS = 4. Сколько там будет потоков? Поскольку мне нужна реализация BLAS, которая всегда использует 1 поток независимо от того, какие переменные среды определены. – Rob
Если потоковая обработка отключена во время компиляции, она не может быть активирована во время выполнения – ztik
Большое спасибо – Rob