Порядок действий: 1. С помощью CMAKE откомпилировать библиотеку решателей paralution, находящуюся в папке paralution-1.1.0. В настройках CMAKE можно выбрать, с какой технологией распараллеливания будут работать решатели: OpenMP, OpenCL или CUDA. При этом OpenMP работает только на CPU, OpenCL работает как на CPU, так и на GPU, а CUDA работает только на GPU от Nvidia. По умолчанию всегда используется технология OpenMP. 2. С помощью проекта CodeBlocks (файл math.cbp) или make-файла откомпилировать библиотеку math, находящуюся в папке math. По умолчанию включена поддержка как решателей paralution (-DNLA3D_USE_PARALUTION), так и решателей mkl (-DNLA3D_USE_MKL). При необходимости, ненужное отключить в соответствующих настройках проекта CodeBlocks или в make-файле. Особое внимание уделить файлу EquationSolver.h и значениям абсолютной невязки "double abs_tol = 1.0E-06" и относительной невязки "double rel_tol = 1.0E-06" для решателей paralution. Это критерии выхода для итерационного решателя. В зависимости от требуемой точности решения их нужно изменять. 3. С помощью проекта CodeBlocks (файл nla3d.cbp) или make-файла откомпилировать библиотеку nla3d, находящуюся в папке nla3d. В данной версии nla3d улучшен алгоритм вывода данных для VTK-файлов. Скорость вывода увеличена в разы, особенно хорошо это заметно на больших сетках. Для успешной компиляции необходимо наличие исходников библиотеки линейной алгебры eigen. В ходе компиляции будет большое количество warning'ов, это нормально и связано с eigen.