Lapochka ili Chai
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору terminat0r Цитата: Странно все-таки то что вы пишете. Судя по всему вам должна быть известна хотя бы комманда mpirun. Например для тестирования на четырех процессорах mpirun -np 4 a.out или на одном mpirun -np 1 a.out | Не понял послания. Ну, известна, и что? И другие известны, и что? Как мне запустить на моём компе, где нету разных процессоров, а есть один-единственный процессор, но в нём много ядер. Поймут ли ядра, что их теперь считают процессорами? Как сделать, чтобы ядра поняли именно так, а не по-другому? Поймёт ли память, что она теперь не общая, а разделённая? Как сделать, чтобы она поняла свою задачу именно так на время тестирования? А после тестирования чтобы опять вернулась в прежнее состояние? Едва ли можно добиться этого, просто прилинковав библиотеку MPI. Впрочем, может, и можно, я не знаю. В этом-то и вопрос. В своё время, когда Микрософт поставил всех "на четвереньки", ограничив ОЗУ одним мегабайтом, был выпущен т.н. экстендер dos4gw, создающий на время исполнения среду с ограничением объёма ОЗУ не в 1 МБ, а в 4 ГБ, что тогда было более чем достаточно. То есть понятно, что преодолеть ограничения, наложенные одними программами можно с помощью действия других программ. В данном случае у нас N ядер и общая память в достаточном количестве, а именно M гигабайт, а надо N процессоров и у каждого своя память в количестве M/N гигабайт. Сделать это, просто запустив виртуальную машину или прилинковав библиботеку? Верится с трудом, но если кто-то скажет, что делал это сам, я готов поверить. Другой вариант -- это виртуальный кластер. Но я не знаю, бывают ли такие вообще в природе. terminat0r про циклы понятно, спасибо за ценную информацию. Будем думать дальше. (Это, конечно, отдельная от MPI тема.) Теперь вернёмся к MPI: Тестировать на одном-единственном процессоре как-то не хотелось бы, не из соображений скорости счёта, а поскольку там как раз идёт пинг-понг между процессорами -- данные пожуём-пожуём, да и пересылаем то туда, то сюда, в этом как раз весь смак игры MPI. А что я протестирую, когда у меня всего один-единственный процессор? Ненадёжное это будет тестирование. Добавлено: FuzzyLogic Кстати, насчёт CUDA: каково мнение знатоков, кто побеждает сейчас -- MPI или CUDA? Какие прогнозы на ближайшие лет пять? Добавлено: да, и кстати -- а вообще FORTRAN-то есть для CUDA? |