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

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

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

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

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

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

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. Но она всегда хуже  поддерживается и имеет тонны недостающих функций. А иногда и заметные различия в производительности. Вывод очевиден!

 

Оставить комментарий