Параллельная программа не сделает - PullRequest
1 голос
/ 04 марта 2012

Я перенес параллельную программу, которая работала и была встроена в визуальную студию. Я использую с ++ и компиляция на компиляторе Intel. Я должен перенести проект на машину Linux и запустить его. Поэтому я сделал следующий файл make.

parallel: main.o Node.o
    icpc -o parallel main.o Node.o

main.o: main.cpp
    icpc -c $(CONFIG) main.cpp

Node.o: Node.cpp
    icpc -c $(CONFIG) Node.cpp

clean:
    rm -f parallel *.o core core.*

CONFIG  = -openmp

но получите этот вывод. Я не могу понять, почему он не распознает, когда он работает на окнах.

main.cpp:(.text+0x4e): undefined reference to `__kmpc_begin'
main.cpp:(.text+0xa2): undefined reference to `__kmpc_global_thread_num'
main.cpp:(.text+0xb2): undefined reference to `__kmpc_ok_to_fork'
main.cpp:(.text+0xc9): undefined reference to `__kmpc_fork_call'
main.cpp:(.text+0xdb): undefined reference to `__kmpc_serialized_parallel'
main.cpp:(.text+0xfa): undefined reference to `__kmpc_end_serialized_parallel'
main.cpp:(.text+0x106): undefined reference to `__kmpc_ok_to_fork'
""                  ""                         '""             """

Хотя я не думаю, что здесь необходим мой проект.

http://bitbucket.org/pumphouse/disjoint-sets-serial-parallel

1 Ответ

4 голосов
/ 05 марта 2012

Вы не связываетесь с -openmp;измените вторую строку на

 icpc $(CONFIG) -o parallel main.o Node.o
...