Установка HPL, проблемы с makefile
Я следовал этому руководству вплоть до шага 5. Когда я бегу $make arch=intel64
это дает мне следующий вывод:
make -f Make.top startup_dir arch=intel64
make[1]: Entering directory `/hpl-2.0'
Make.intel64:106: *** missing separator. Stop.
make[1]: Leaving directory `/hpl-2.0'
make: *** [startup] Error 2
Я не уверен, что это значит "отсутствующий разделитель".
Изменить: у меня есть следующее в make-файле в строках 103-106:
LAdir = /opt/intel/mk/lib/intel64
LAinc = /opt/intel/mkl/include
LAlib = -Wl,--start-
group $(LAdir)/libmkl_intel_lp64.a $(LAdir)/libmkl_intel_thread.a $(LAdir)/libmkl_core.a -Wl, --end-group -lpthread -lm
Это именно то, что говорит руководство, чтобы поставить, если я не ошибаюсь.
1 ответ
Решение
Я обнаружил, что форматирование руководства немного вводит в заблуждение, и подозреваю, что эти строки в make-файле:
LAlib = -Wl,--start-
group $(LAdir)/libmkl_intel_lp64.a $(LAdir)/libmkl_intel_thread.a $(LAdir)/libmkl_core.a -Wl, --end-group -lpthread -lm
На самом деле должна быть одна строка следующим образом:
LAlib = -Wl,--start-group $(LAdir)/libmkl_intel_lp64.a $(LAdir)/libmkl_intel_thread.a $(LAdir)/libmkl_core.a -Wl, --end-group -lpthread -lm
Другими словами, если у вас есть разрыв строки после строки --start- on 105, удалите ее и убедитесь, что строка 106, которая в настоящее время начинается с group
перемещается в конец строки 105.