Я хотел бы начать с заявления, что я ничего не знаю о программировании OpenCL/GPU, но я - программист C# (general .Net), не опасаясь C++, и я хотел бы изучить программирование OpenCL/GPU. .. мой вопрос ... где я начинаю?!? что я должен скачать?!? есть ли способ программирования OpenCL/GPU на Visual Studio (на C#)!?! как ... привет мир вещь ... ТКС всеПрограммирование OpenCL и GPU Roadmap
ответ
Лучший сайт я нашел для четкого введения в программирование, как GPU отличается от программирования CPU этот сайт:
http://www.macresearch.org/opencl
Даже если эти ролики сделаны показывая карты в стиле NVIDIA, важные концепции:
много потоков работает точно такие же инструкции в карцер стадии (даже если какой-то код пишется если-либо еще конструктов), и
коалесцированного доступа к памяти
в равной степени применимы к AMD или NVIDIA и имеет решающее значение для того, чтобы начать изменять то, как вы думаете о том, как структурировать алгоритм для повышения производительности на графическом процессоре.
Извините, я думаю, что этот вопрос в основном касается начала кодирования, а не проектирования. Серия MacResearch отлично подходит для того, чтобы начинать думать в графических терминах, но не очень информативна для кодирования. Он также довольно устарел. Однако я бы рекомендовал серию. –
http://developer.amd.com/zones/OpenCLZone/pages/default.aspx
Предполагая, что вы хотите сделать OpenCL, а не тот это CUDA имеет целую кучу интро видео-уроки. Аналогичный набор у NVidia - хотя у них больше материала на базе CUDA.
Если вы хотите программировать GPL, то получить пример приложения, который может вывести код opencl/cuda в графический процессор, является простой частью. Вы также должны изучить язык opencl/cuda, тогда вам нужно научиться думать об алгоритмах параллельно и как тестировать/измерять результаты.
Существует не «использовать GPU» нажимную кнопку, которая мгновенно делает ваш код 100x быстрее
Я надеялся на более прямой ответ ... вроде ...«Идите к этому адресу и скачайте, что ... если у вас есть видеокарта ATI, идите туда ... если у вас есть Geforce, идите на этом сайте» вроде ... – Leonardo
ok ... так где я начинаю? !? что мне нужно делать с моими программами, чтобы они использовали силу GPU?!? – Leonardo
На заметку о желании: Haskell может на самом деле очень хорошо иметь эту кнопку. В некоторой степени это возможно со всеми языками, но с Haskell это чаще всего возможно. И намного легче развиваться. (Функциональное программирование определяет поведение более строго, поскольку оно определяет результаты, а не процедуры) – Lodewijk
Я бы сказал, чтобы проверить OpenTK и их привязки C#, чтобы получить скачок на OpenCL. Посмотрите на OpenCL's website, чтобы получить стандартные привязки C или C++.
Изучение OpenCL, есть различные ресурсы .. не тонна. Я нашел following this полезным.
Прошу прощения за опоздание на 7 лет. Но вот с открытым исходным кодом C библиотека # GPGPU писать свои собственные OpenCL ядра:
https://github.com/tugrul512bit/Cekirdekler/wiki/Beginning
и мира привет, как традиции:
ClNumberCruncher gpus= new ClNumberCruncher(
ClPlatforms.all().devicesAmd().gpus(), @"
__constant char text[12] = {'h','e','l','l','o',' ','w','o','r','l','d',' '};
__kernel void hello(__global char * arr)
{
printf(text);
}
");
gpus.performanceFeed = true;
ClArray<byte> array = new ClArray<byte>(5,1);
array.compute(gpus, 1, "hello", 5, 1);
array.compute(gpus, 1, "hello", 5, 1);
array.compute(gpus, 1, "hello", 5, 1);
это выход:
hello world
hello world
hello world
hello worldhello world
Compute-ID: 1 ----- Load Distributions: [40.0%] - [60.0%] -----------------------------------------------------
Device 0(gddr): Oland ||| time: 29.47ms, workitems: 2
Device 1(gddr): gfx804 ||| time: 29.76ms, workitems: 3
-----------------------------------------------------------------------------------------------------------------
hello worldhello world
hello world
hello world
hello world
Compute-ID: 1 ----- Load Distributions: [40.0%] - [60.0%] -----------------------------------------------------
Device 0(gddr): Oland ||| time: 1.64ms, workitems: 2
Device 1(gddr): gfx804 ||| time: 1.33ms, workitems: 3
-----------------------------------------------------------------------------------------------------------------
hello worldhello world
hello world
hello world
hello world
Compute-ID: 1 ----- Load Distributions: [40.0%] - [60.0%] -----------------------------------------------------
Device 0(gddr): Oland ||| time: 1.08ms, workitems: 2
Device 1(gddr): gfx804 ||| time: .87ms, workitems: 3
-----------------------------------------------------------------------------------------------------------------
он может сделать кучу вещей от конвейерной обработки до планирования пула задач.
hahahahah tks в любом случае! – Leonardo
- 1. Программирование на GPU, CUDA или OpenCL?
- 2. Глобальная синхронизация OpenCL и GPU
- 3. OpenCL GPU Audio
- 4. OpenCL не обнаруживает GPU
- 5. OpenCL и GPU с Android OpenCV SDK
- 6. Ядро OpenCL и CUDA на одном GPU
- 7. OpenCL 2.0 на AMD GPU
- 8. Параллельность в GPU - CUDA/OpenCL
- 9. Программирование Java GPU
- 10. Программирование GPU в java
- 11. OpenCL RK4 Интеграция на GPU
- 12. Программирование GPU с pyopencl
- 13. Графическая память GPU в OpenCL
- 14. Программирование OpenCL в Charm ++
- 15. Программирование GPU - узкие места передачи
- 16. отключить принудительное программирование рендеринга GPU
- 17. OpenCL CPU быстрее, чем OpenCL GPU для наивного умножения матрицы
- 18. Программирование GPU в стандартном C++
- 19. Alea.cubase программирование GPU в F #
- 20. Простое программирование GPU (с Cg?)
- 21. Purecss Roadmap и статус проекта
- 22. Программирование GPU на Xbox 360
- 23. Рекомендации по использованию GPU с OpenCL
- 24. OpenCL: получить шину PCIe для Intel GPU
- 25. OpenCL SDK Linux Загрузить для INTEL GPU
- 26. OpenCL/OpenGL Interop с несколькими GPU
- 27. openCL на консолях для GPU общего назначения?
- 28. Устройство OpenCL CPU против устройства GPU
- 29. Поддержка Raspery Pi 3 OpenCL GPU?
- 30. программа OpenCL зависает при использовании GPU
У вас есть карта ATI или nvidia? –
У меня есть оба прямо сейчас ... в 1 шт. У меня есть ati, а в другом у меня есть nvidia ... – Leonardo
.Net имеет XNA Framework, что делает игру Xbox. u должен исправить это. – Bonshington