Поддержка OpenCL в видеокартах и на Intel HD3000
Что это означает, когда графическая карта упоминает, что поддерживает нативный OpenCL?
А что происходит, когда этого не происходит? И как с этим справляется intel 3000? Как производительность и обработка номеров ячеек?
2 ответа
Надеюсь, это охватит все:
- OpenCL - это стандарт для одновременного выполнения массовых параллельных вычислений на многих процессорах. Это не обязательно должен быть графический процессор; Рабочие нагрузки OpenCL можно запускать на традиционных процессорах.
- Поскольку графические процессоры содержат много небольших вычислительных ядер, обычно оптимизированных для математических вычислений с плавающей запятой, они хорошо подходят для некоторых типов массивно параллельных вычислений. Как правило, математика выполняет рендеринг трехмерной графики, но это могут быть общие вычисления. Эта концепция в целом называется ГПГПУ. Большинство современных графических процессоров поддерживают OpenCL как средство разрешения появления GPGPU.
-
Intel HD Graphics 3000 поддерживает OpenCL 1.1.Содержит 12 исполнительных блоков.Сравните это с дискретными графическими картами, которые на верхнем уровне могут иметь сотни исполнительных блоков.
Надеюсь, станет очевидным, что, хотя вы можете запускать задания OpenCL на HD 3000, если у вас есть много такой работы, вам лучше купить высококачественную видеокарту для ее запуска, как вы получите намного лучшее распараллеливание (и, следовательно, производительность).
Как я вижу ситуацию, Intel HD 3000 встроен в процессоры Intel Core 2-го поколения (он же Sandy Bridge).
Но OpenCL 1.1 поддерживает только Intel HD Graphics 4000 и 2500 и поддерживает только OpenCL на процессоре 2-го поколения, но не на графическом процессоре.