FuzzyLogic
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Igorr Цитата: Хочется определить одно направление для гребли. Что будет возможно быстрее работать (и на сколько) на трех ПК с Windows в IVF: OpenMP/MPI или ClusterOpenMP? | Ну вы хотя бы вкратце поделитесь задачей, может кто и подскажет Цитата: 1) не сильно требовательное к памяти - это сколько? | Это желательно килобайты на поток (процессор) Цитата: 2) сотни потоков означает убыстрение в сотни раз? | Если потоки достаточно изолированы, то да Вкратце о моментах в CUDA: 1. Значительное время занимает загрузка данных в память 2. Объем памяти на типичной недорогой видеокарте составляет 1-2 гигабайта, кол-во stream процессоров несколько сотен (в зависимости от модели), так вы можете приблизительно прикинуть (реально памяти ещё меньше, по крайней мере быстрой) порядок того что можно делать 3. Обмениваться данными между процессами - недешёво, т.е. кол-во этих обменов/объем должны быть минимальны (что в общем-то справедливо и для MPI) Т.е. если на пальцах, то сложение двух массивов по гигабайту каждый не даст вам ничего кроме тормозов (пока закинули массивы, потом оооочень быстро сложили, потом пока их забрали....) - быстрее делать на процессоре. А вот скажем если ваша задача разбивается на N (N несколько сотен) относительно небольших массивов (ну пусть по нескольку десятков килобайт каждый), и потом над каждым нужно проводить сложные мат. операции которые на процессоре занимают значительное время, и обмениваются эти под-задачи меж. собой редко (ну например итерация чего-то на процессоре занимает 10 секунд, после чего эти подзадачи друг другу посылают небольшой блок данных и снова "зависают" на долгое время считать, то CUDA даст вам просто обалденные результаты. |