Ця реакція може бути занадто пізньою, але все-таки варто це відзначити. GPU Ocelot ( з якого я є одним із основних учасників ) можна скласти без встановлених драйверів пристроїв CUDA (libcuda.so), якщо ви бажаєте використовувати емулятор або LLVM. Я продемонстрував емулятор в системах без графічних процесорів NVIDIA.
Емулятор намагається сумлінно реалізувати специфікації PTX 1.4 та PTX 2.1, які можуть включати функції старих графічних процесорів, які не підтримують. Перекладач LLVM прагне правильного та ефективного перекладу з PTX на x86, що, сподіваємось, зробить CUDA ефективним способом програмування багатоядерних процесорів, а також GPU. -deviceemu
була застарілою особливістю CUDA протягом досить тривалого часу, але перекладач LLVM завжди був швидшим.
Крім того, в емулятор вбудовано кілька перевірок на правильність: вирівнювання доступу до пам’яті, доступу до спільної пам'яті належним чином синхронізовано та глобального доступу до перенаправлення пам’яті, виділених областям пам’яті. Ми також реалізували інтерактивний відладчик командного рядка, натхненний значною мірою gdb для однокрокового переходу через ядра CUDA, встановлення точок перериву та точок спостереження тощо. Ці інструменти були спеціально розроблені для прискорення налагодження програм CUDA; ви можете вважати їх корисними.
Вибачте за аспект лише для Linux. Ми створили відділення Windows ( як і порт Mac OS X ), але інженерний тягар вже досить великий, щоб підкреслити наші дослідницькі пошуки. Якщо у когось є якийсь час та інтерес, він, можливо, захоче допомогти нам забезпечити підтримку Windows!
Сподіваюся, це допомагає.