В основном я хочу, чтобы добиться чего-то вроде этого:
Как сделать два процесса с двумя потоками, отправленными друг другу в MPI?
Process 1
Thread 1
Receive X from process 2
Thread 2
Receive Y from process 2
Process 2
Thread 1
Send X to process 1
Thread 2
Send Y to process 1
в MPI для языка C с библиотекой Pthreads.
Я сделал это уже в PVM, вот исходный код:
master.c: http://pastebin.com/wwEie7gn,
slave.c: http://pastebin.com/gfeCkcss.
Что я пытался:
prog.c: http://pastebin.com/tCVKN3fe
Каким-то образом потоки приемников ничего не получают. Я не знаю, в чем проблема. Я надеюсь, что кто-то может показать мне правильный способ сделать это.
Я использую MPI, скомпилированный без поддержки нитей.
Почему бы просто не создать 4 процесса? – suszterpatt
вам нужно прочитать: http://www.mpi-forum.org/docs/mpi-20-html/node162.htm#Node162 – Anycorn
@suszterpatt later on Я хочу, чтобы эти потоки разделяли пространство памяти с помощью pthreads. – wieczorek1990