Armadillo может выполнять свою собственную математику или может вызывать сторонние библиотеки для выполнения математики. Примерами таких сторонних библиотек являются Atlas, BLAS, OpenBLAS, uBLAS, lapack, MKL. Если Армадилло выполнит свою собственную математику, это будет одна нить. Некоторые из этих сторонних библиотек могут выполнять многопоточность, например OpenBLAS. Некоторые библиотеки могут использовать графический процессор, например, nvBLAS от Nvidia. Обратите внимание, что nvBLAS выполняет только частичную реализацию blas, и вам все еще нужна другая библиотека blas для того, что nvBLAS не делает.
Вы можете управлять Armadillo, редактируя armadillo_bits/config.hpp или используя опцию -D компилятора, чтобы установить соответствующие директивы прекомпилятора для ваших нужд.
Что-то, что может сэкономить вам время: порядок, который вы связываете с армадильо и сторонними библиотеками, важен. Армадилло звонит, чтобы заявить, что лакеры и лацканы звонки на блас, поэтому порядок должен быть:
-larmadillo -llapack -lblas, иначе у вас будут ошибки в ссылках.
'-fopenblas' или' -lopenblas'? – ar2015
Извините. Вы правы, должны быть '-lopenblas'. Я починил это. –