Преимущество Nvidia перед AMD аппаратное или программное?



Преимущество Nvidia перед AMD аппаратное или программное? Если копнуть глубоко…

Преимущество Nvidia перед AMD аппаратное или программное? Программное естественно. Сейчас расскажу почему. Еще в начале 2000-х годов люди начали экспериментировать с графическими процессорами для вычислительных задач. Но это было трудно, потому что графические процессоры предоставляли только графические API. Поэтому все должно быть переведено туда и обратно и оформлено как графические алгоритмы со всеми сопутствующими ограничениями. Это было сложно и медленно. Как с точки зрения времени разработки, так и с точки зрения эффективности времени выполнения.

NVIDIA GeForce 399.24 — новые драйвера от компании

Преимущество Nvidia перед AMD аппаратное или программное?

NVIDIA выпустила CUDA еще в 2006 году-API, который позволял людям программировать графические процессоры напрямую. Без необходимости делать все бессмысленные переводы. Это сделало GPGPU жизнеспособным для реальных задач. И NVIDIA продолжала поддерживать и развивать его по сей день.

Преимущество Nvidia перед AMD аппаратное или программное? — минусы AMD

В ответ AMD выпустила экспериментальный API низкого уровня, близкий к железу. Но он был слишком сложным в использовании, и он не прижился. Позже был Streams API, о котором никто не знал по какой-то причине. Я предполагаю, что в тот момент все искали некую гибкость, как потенциальную пользу при переходе с CUDA. Но переход на другой Проприетарный фреймворк на самом деле не имел большого смысла.

Компания AMD в конце концов решила поддержать OpenCL в конце 2008 года. Но было уже слишком поздно. В CUDA уже было написано много кода, и поколение новых программистов GPGPU уже были знакомы с CUDA. Для исследователей, которые гораздо больше заинтересованы в написании бумажек, чем в написании кода, не имеет смысла изучать OpenCL. Тем более когда CUDA все еще конкурентоспособна (и, возможно, лучше). Даже если это означает, что они будут привязаны к NVIDIA и будут затем покупать более дорогие графические процессоры.

А теперь посмотрите на все популярные фреймворки машинного обучения (машинное обучение-самый большой вариант использования GPGPU). Все они имеют идеальную поддержку CUDA. И только некоторые из них имеют экспериментальную поддержку OpenCL. Но она всегда хуже  поддерживается и имеет тонны недостающих функций. А иногда и заметные различия в производительности. Вывод очевиден!

Рубрика: Видеокарты

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *