Передача от процессов, если условие выполнено в MPI [duplicate]

Пакет Visual Studio NuGet необходимо обновить для новой версии набора инструментов

У меня просто возникла проблема с подключением libpng с Visual Studio 2013. Проблема в том, что в файле пакета были только библиотеки для Visual Studio 2010 и 2012.

Правильное решение - надеяться, что разработчик выпустит обновленный пакет и затем обновит его, но он работал для меня, взломав дополнительную настройку для VS2013, указав на файлы библиотеки VS2012.

Я отредактировал пакет (в папке packages внутри каталога решения), найдя packagename\build\native\packagename.targets и внутри этого файла, скопировав все секции v110. Я изменил v110 на v120 в полях условий только очень осторожно, чтобы пути с именами файлов были все как v110. Это просто позволило Visual Studio 2013 подключиться к библиотекам на 2012 год, и в этом случае он работал.

0
задан Eramol 17 November 2013 в 14:59
поделиться

1 ответ

mpi_bcast должен быть вызван всеми процессами в коммуникаторе, и все они должны встретить вызов в той же точке кода. Когда вы написали свой (псевдо) код, корневой процесс делает вызов для трансляции, который не выполняются рабочими процессами, а рабочие процессы вызывают вызов, который нет в корне.

mpi_bcast является одной из подпрограмм MPI collect , библиотека позаботится о том, чтобы определить правильный шаблон отправки сообщений на основе аргументов, которые вы передаете ему. В случае mpi_bcast 4-й аргумент является идентификатором источника широковещательной передачи (он не обязательно должен быть корневым процессом коммуникатора, хотя он часто бывает); все остальные процессы в коммуникаторе будут приемниками.

1
ответ дан High Performance Mark 25 August 2018 в 16:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: