AMD працює над сумісністю з NVIDIA CUDA

Закриті стандарти в перспективі програють відкритим. Ситуація може бути іншою тільки в тому випадку, якщо творець стандарту є фактичним монополістом на ринку. До числа закритих стандартів відноситься і технологія обчислень на GPU NVIDIA CUDA, що з'явилася на ринку в 2007 році з анонсом першого в світі уніфікованого графічного процесора G80. Відкритий стандарт OpenCL з'явився пізніше, лише в 2009 році, тому CUDA встигла завоювати певну популярність в ніші GPGPU і суперкомп'ютерів. Але, схоже, що ексклюзивності CUDA приходить кінець, як і монополії NVIDIA на цю технологію.


 Як відомо, Advanced Micro Devices є завзятим прихильником OpenCL і витрачає чимало сил на просування цього стандарту, в тому числі, і в рамках ініціативи гетерогенних обчислень - технологія HSA застосовується в процесорах AMD класу APU. Нещодавно компанія представила новий компілятор HCC (Heterogeneous Compute Compiler), а потім реалізувала для нього шар сумісності (compatibility layer) з NVIDIA CUDA. Відповідний анонс був опублікований 16 листопада. Як повідомляють розробники AMD, нова функція HIP (Heterogeneous Compute Interface for Portability) в ряді випадків дозволяє автоматично конвертувати до 90% коду, написаного в рамках CUDA в стандартну модель C++.


Це не означає негайної і прямої конверсії коду CUDA в OpenCL, або прямого запуску CUDA-програм на графічних чіпах AMD, оскільки компанія все ще не має необхідних ліцензій NVIDIA, хоча остання і відкрила ліцензування в 2013 році. Але технологія HIP дозволяє програмісту GPGPU працювати в рамках зручної йому парадигми, а подальша конверсія в стандарт C++ дозволить іншим програмістам оптимізувати код з урахуванням потреб замовника, наприклад, планує запуск суперкомп'ютера на основі прискорювачів AMD FirePro з підтримкою OpiP Нова ініціатива AMD дозволить зміцнити позиції компанії на ринку супервичислений (HPC), який сам по собі досить консервативний і схильний до використання CUDA, стандарту, що з'явився першим і добре освоєного за минулий час.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND