Примеры OpenCL со сравнительными тестами

Это сообщение не сделает "контролируемые исключительные ситуации, плохие" счастливые люди. Однако то, на чем я основываю свой ответ, - то, как исключения Java предназначаются, чтобы использоваться, как определено людьми, которые создали язык.

диаграмма Справочника:

  • Throwable - никогда не ловят это
  • , Ошибка - указывает, что ошибка VM - никогда не ловит это
  • , RuntimeException - указал, что ошибка программиста - никогда не ловит это
  • , Исключение - никогда не ловит это

причина, Вы не должны ловить Исключение, то, что это ловит все подклассы, включая RuntimeException.

причина Вы не должны ловить Throwable, то, что это ловит все подклассы, включая Ошибку и Исключение.

существуют исключения (никакая предназначенная игра слов) к вышеупомянутым "правилам":

  • Код Вы работаете с (от третьей стороны), бросает Throwable или Exception
  • , Вы выполняете недоверяемый код, который мог заставить Вашу программу отказывать если это мускулы исключение.

Для второго обычно достаточно обернуть основной код обработки событий и потоки с выгодой к Throwable и затем проверить фактический тип исключения и соглашения с ним как соответствующий.

5
задан Tristan 14 September 2009 в 22:41
поделиться

2 ответа

Вот несколько отличных примеров в SDK от nvidia:

http://developer.nvidia.com/object/get-opencl.html

3
ответ дан 14 December 2019 в 01:12
поделиться

The algorithms you are describing are neither simple nor introductory from the perspective of GPU programming. The reason CUDA has examples in these areas is that it has been around long enough for people to have developed these examples. There is currently no publicly available version of OpenCL that runs on GPUs. Both ATI and NVIDIA are offering beta versions of their OpenCL drivers, but ATI's supports only CPU computation and NVIDIA's requires signing an NDA to get. Simply put, OpenCL has not been around long enough for comprehensive examples like these to have been developed and demonstrated.

That said, gaining access to NVIDIA's OpenCL drivers is not difficult. You can find out how to do so on their forums here. I assume that the OpenCL distribution contains some sample programs to help you get started.

This also means that it's an excellent opportunity for you to develop some of these benchmarks and post your results. Then people will refer to your work rather than you referring to their work. I wouldn't expect too many surprises though. OpenCL performance should be roughly on par with CUDA performance once it becomes widely available and supported.

4
ответ дан 14 December 2019 в 01:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: