Π ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° 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