#c #armadillo #petsc
Вопрос:
У меня есть фрагмент кода на C (main.cpp), который использует armadillo для подготовки очень БОЛЬШОЙ разреженной матрицы и ее r.h.s, которые должны быть решены как x = Ab.
Проблема: В armadillo не существует параллельно-итерационно-линейного разреженного решателя. И я подумываю рассмотреть PETSc, в котором есть много способных решателей. Но я понятия не имею, как связать это с моим main.cpp код.
Подсказки: 1 — Мой код последовательный, однако armadillo использует потоковый процесс. 2 — PETSc параллелен на основе MPI, и в C.
Как я могу связать/скомпилировать/запустить PETSc с моего main.cpp? Любая помощь будет высоко оценена …
Ответ №1:
По умолчанию PETSc создаст единую библиотеку. Предположим, что вы установили пакет, а не остались в дереве исходных текстов. Для компиляции вам нужно-I/путь/к/petsc/включить, а затем связать вам нужно-L/путь/к/petsc/lib-lpetsc.