Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 12624|Ответ: 0

CUDA отличается от OpenCL

[Скопировать ссылку]
Опубликовано 22.04.2018 21:42:36 | | | |
Согласно информации на сайте, краткий обзор различий между CUDA и OpenCL. Пожалуйста, указывайте на любые ошибки.

Отступление: Симуляционный тест в Национальной лаборатории Сандия в США показал, что из-за ограничений механизмов хранения и пропускной способности памяти процессоры с 16, 32 или даже 64 ядрами не только не могут повысить производительность суперкомпьютеров, но и привести к значительному снижению эффективности.

Что такое OpenCL?

Это открытый и свободный стандарт для параллельного программирования для общего назначения гетерогенных систем, инициированный Apple и совместно разработанный многими известными производителями отрасли, а также представляет собой унифицированную программную среду. Он удобен для разработчиков программного обеспечения для написания эффективного и легкого кода для высокопроизводительных вычислительных серверов, настольных вычислительных систем и портативных устройств, широко применяется в многоядерных процессорах (CPU), графических процессорах (GPU), архитектурах ячеточного типа и других параллельных процессорах, таких как цифровые сигнальные процессоры (DSP), а также имеет широкие перспективы развития в различных областях, таких как игры, развлечения, научные исследования и медицинская помощь.

Что такое CUDA?

CUDA — это архитектура, основанная на параллельных вычислениях на GPU Nvidia. CUDA в основном включает два аспекта: первый — архитектура набора команд ISA; второй аппаратный вычислительный движок; На самом деле это аппаратное обеспечение и набор инструкций. Другими словами, можно рассматривать CUDA как архитектуру, похожую на X86 или cell, но основанную на GPU, а не на традиционных процессорах.




Что такое OpenCL на самом деле?

OpenCL — это на самом деле совершенно новый API для параллельного программирования гетерогенных систем, и OpenCL может использовать GPU для выполнения параллельных вычислений.
OpenGL предназначен для графов, а OpenCL — для параллельных вычислений.
В процессе разработки OpenCL техническими платформами являются все GPU NVIDIA, и фактически OpenCL разрабатывается на базе платформ NVIDIA GPU. Кроме того, первая демонстрация OpenCL также работала на видеокартах NVIDIA.
По сути, OpenCL — это технологический эквивалент DirectX на платформе Windows. Точнее, это интерфейс API, который соединяет аппаратное и программное обеспечение. В этом отношении он похож на OpenGL, но OpenCL гораздо шире, чем OpenGL, и используется не только для 3D-графики. Если описать это одним предложением, роль OpenCL — раскрыть аппаратный потенциал, вызывая вычислительные ресурсы процессора и GPU, чтобы программа работала быстрее и лучше.
Что такое CUDA на самом деле?

Архитектура CUDA является собственной, специально созданной для вычислительных интерфейсов, и эта аппаратная архитектура, включая наборы инструкций, представляет собой полный набор архитектур, предназначенных для такого рода параллельных и гетерогенных вычислений. Архитектура CUDA поддерживает API, включая OpenCL или DirectX, а CUDA также поддерживает C, C++, Fortran, Java, Python и другие языки.



Какова связь между OpenCL и CUDA?

Отношения между CUDA и OpenCL — это не конфликтные отношения, а инклюзивные отношения. OpenCL — это API, на первом уровне архитектура CUDA — более высокий уровень, будь то язык OpenCL, DX11 или C, могут поддерживаться вычисления на Fortran, DX11. Как разработчики программ, обычно они понимают только эти языки или API и могут использовать несколько языков для разработки собственных программ, независимо от выбранного языка; если они хотят использовать вычислительную мощность GPU, они могут использовать CUDA для программирования на этой архитектуре.
Технические различия между OpenCL и CUDA в основном отражаются в методе реализации. CUDA, основанный на языке C, упакован в простой для написания код, поэтому даже исследователи, не знакомые с проектированием микросхем, могут использовать инструменты CUDA для написания практических программ. Хотя OpenCL синтаксически близок к CUDA, он больше акцентирует внимание на базовых операциях, поэтому сложнее, но благодаря этому OpenCL может работать на разных платформах.
CUDA — это параллельная вычислительная архитектура, содержащая архитектуру набора команд и соответствующий аппаратный движок. OpenCL — это интерфейс прикладного программирования (API) для параллельных вычислений, а OpenCL — новый путь разработки программ CUDA, дополняющий C для CUDA на архитектуре NVIDIA CUDA.
Если хотите получить больше контроля над аппаратным обеспечением, можно использовать OpenCL API для программирования, а если мало знаете об этом API, то также на CUDA C — это два разных способа программирования, у которых есть свои сходства и различия. Но при разработке языков OpenCL и CUDA C в параллельных вычислениях их концепции схожи, эти две программы имеют большое сходство в программах, поэтому портировать программы между собой относительно просто.


Язык CUDA C позиционируется иначе, чем OpenCL, то есть использует разных людей. CUDA C — это язык высокого уровня, которым легко пользоваться непрофессионалы, мало разбирающиеся в аппаратном обеспечении; OpenCL — это аппаратно-ориентированный интерфейс для разработки приложений, который даёт программистам больше контроля над аппаратным обеспечением и будет сложнее начать и разрабатывать.
Привычки использования программистов также очень важны: те, кто использует язык C на платформе процессора X86, легко примут язык C на базе GPU CUDA; Люди, привыкшие к разработке графики на OpenGL, будут более дружелюбны к OpenCL, и на его основе будет очень просто разрабатывать вычислительные программы, связанные с графикой и видео.






Предыдущий:HttpRuntime Cache считывает инкапсуляцию информации кэша набора
Следующий:Почему бы не дать MB для установки аватаров
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com