Пакет 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 год, и в этом случае он работал.
mpi_bcast
должен быть вызван всеми процессами в коммуникаторе, и все они должны встретить вызов в той же точке кода. Когда вы написали свой (псевдо) код, корневой процесс делает вызов для трансляции, который не выполняются рабочими процессами, а рабочие процессы вызывают вызов, который нет в корне.
mpi_bcast
является одной из подпрограмм MPI collect , библиотека позаботится о том, чтобы определить правильный шаблон отправки сообщений на основе аргументов, которые вы передаете ему. В случае mpi_bcast
4-й аргумент является идентификатором источника широковещательной передачи (он не обязательно должен быть корневым процессом коммуникатора, хотя он часто бывает); все остальные процессы в коммуникаторе будут приемниками.