Я знаю, что ATLAS может оптимизировать себя для машины, на которой он компилируется, и, таким образом, максимальная выгода достигается компиляцией из исходного кода. Есть ли польза от компиляции LAPACK из исходного кода? Было бы намного проще просто установить готовый пакет.
13
Ответы:
OpenBlas довольно быстрый, поэтому вы можете связать его с LAPACK. Вы пробовали предварительно скомпилированную версию LAPACK / BLAS от вашего поставщика CPU? Например, AMD ACML (бесплатно) или Intel MKL (бесплатно на Linux для некоммерческого и не академического использования)? Вам просто нужно распаковать и запустить установочный файл.
На мой взгляд, единственным преимуществом использования ATLAS является то, когда вы используете какой-то необычный процессор. В противном случае используйте один из поставщиков процессора. Также есть версии nVIDIA CUDA и AMD OpenCL, которые действительно потрясающие.
РЕДАКТИРОВАТЬ: помните, что вы всегда можете собрать пакет Ubuntu DEB из исходного кода, который обычно намного проще, чем компилировать программное обеспечение из исходного кода.
источник
libmkl_rt.so
файле, обычно связанном с помощью:-L/opt/intel/mkl/lib/intel64 -lmkl_rt
Пакет репозитория небезопасен для использования с потоками из-за способа его компиляции. Я сообщил об ошибке на форуме Lapack , но потребуется много времени, чтобы обходные пути или решения просочились в хранилище. Если вы сами его скомпилируете, обязательно добавьте «-frecursive» в gfortran.
источник
По моему опыту, лучший способ использовать blas / lapack в последних версиях ubuntu - это использовать упакованный openblas.
Что бы это ни стоило, я в основном использую blas / lapack через python numpy / scipy, а использование openblas ускоряет некоторые линейные алгебры примерно в 200 раз по сравнению со значением по умолчанию. Я пытался использовать пользовательский ATLAS, но это было огромной болью и не давало большого ускорения по сравнению с openblas, но, возможно, я делал это неправильно.
источник