LogNeuro_1600.jpg

Другие ресурсы



Главная -> Проект "Лаборатория GPGPU"
Описание программы.
"Турбулентность в реальном времени" v0.7 07.12.2015
LabGPGPU_0_7_600.jpg

Симулятор потока вязкой жидкости при обтекании различных препятствий, с наглядной демонстрацией турбулентных вихрей, образующихся при достаточном числе Рейнольдса. Для расчета физики процесса используется вычислительная гидродинамика CFD (Computational fluid dynamics), а для задействования вычислительной мощности видеокарты - технология распределенного вычисления OpenCL.

В програмке задействованы следующие элементы:
- переключатель примеров: ступенька, колонна, крыло;
- переключатель режимов наблюдения: силовое поле, поток частиц;
- ползунок изменения числа Рейнольдса, критерия течения вязкой жидкости;
- переключатель основного устройства расчета физики: видеокарта, процессор;
- счетчики FPS для графики и физики;
- прокрутка поля просмотра с помощью ползунка, стрелок клавиатуры или колесика мыши.

Минимальные требования:
- .NET Framework 4.0 (в Win8 и выше уже есть);
- видеокарта с поддержкой OpenCL.

ОС: WinAll.
Тип: полностью бесплатно.
Интерфейс: русский.
Размер: 586kб.

История развития проекта.
"Термодинамика в реальном времени" v0.5 21.12.2010
ThermoRealTime_0_5_600.jpg

Эта програмка посвящена технологии параллельных вычислений с использованием видеоускорителей GPGPU, а точнее молодому его представителю - языку OpenCL. На этот язык уже стали ориентироваться (предлагая широкую поддержку в виде драйверов и SDK) ведущие разработчики видеокарт: NVIDIA (с их уже очень популярной подобной технологией CUDA) и ATI (с технологией Stream).

В данной версии программы было интересно пощупать OpenCL в деле и сравнить производительность 96 потоковых ядер видеокарты GeForce 8800 GTS с двумя ядрами процессора Intel Core 2.2 ГГц. Ну, в качестве примера решил опробовать расчет температурного поля алюминиевой пластины при воздействии на нее двух источников тепла. Расчет (при разбиении пластины на мелкие кусочки, подобно сетке МКЕ) хорошо распараллеливается, что является основой для применения GPGPU. Так как OpenCL использует язык C++, то в проекте использовал в качестве его обертки открытую библиотеку Cloo, написанную на C#.

P.S. В дальнейшем планирую реализовать подобный расчет с применением CUDA, поработать над оптимизацией кода, усложнить данный пример и может быть добавить еще несколько примеров для наглядности.

e-mail: neurothermal@mail.ru