ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ LibreCUDA для запуска ΠΊΠΎΠ΄Π° CUDA Π½Π° GPU NVIDIA Π±Π΅Π· ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½ΠΎΠ³ΠΎ Runtime

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° LibreCUDA вСдётся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ API Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° CUDA, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄ CUDA Π½Π° GPU NVIDIA Π±Π΅Π· использования ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½ΠΎΠ³ΠΎ CUDA Runtime. Π Π°Π±ΠΎΡ‚Π° Π±Π΅Π· Runtime достигаСтся благодаря прямому ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ ΠΊ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ прСдоставляСмыС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ ioctl-Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΈ манипулируя ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ Ρ‡Π΅Ρ€Π΅Π· MMIO (Memory-mapped I/O). Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языкС Π‘ΠΈ ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠΊΠ° находится Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ стадии развития ΠΈ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½, ΠΊΠ°ΠΊ Π½Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ для примСнСния Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… систСмах. Из возмоТностСй отмСчаСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² GPU исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² CUDA Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ELF, запуск CUDA-ядСр Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄, Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ освобоТдСниС памяти Π² GPU, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³ памяти GPU для доступа ΠΈΠ· ΠΊΠΎΠ΄Π°, выполняСмого Π½Π° CPU.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru