A. M. Kazennov udc: 04. 42 Moskva fizika-texnika instituti (Davlat universiteti), Rossiya, 141700, Dolgoprudniy, bosh. Institut, 2010 yil sentyabrda qabul qilingan, 2010 yil 20 sentyabrda qayta ko'rib chiqilgan mavhum
Download 1.25 Mb. Pdf ko'rish
|
crm602 (1)
- Bu sahifa navigatsiya:
- CUDA da xotira CUDA dasturlash interfeysi Runtime API ning asosiy funktsiyalari
- (65536, 65536, 1) va tordagi bloklarning maksimal soni 4294967296
birlar bilan ishga tushiriladi). Ushbu turdagi yadro ishga tushirish parametrlarini o'rnatish uchun ishlatiladi. dim3 blok = dim3
(64, 2); Params parametri bilan yadro funksiyasi deklaratsiyasi: __global__ void Kernel_name(params); Yadro ishga tushirilishi: Yadro_nomi<< Machine Translated by Google CUDA da xotira CUDA dasturlash interfeysi Runtime API ning asosiy funktsiyalari har qanday asenkron qo'ng'iroqdan keyin. A. M. Kazyonnov API-dagi funksiyalar sinxron va asinxronga bo'linadi. Sinxron yugurishlar bloklanadi, asinxron yugurish esa ular ishlayotgan vaqtda boshqa operatsiyalarni bajarishga imkon beradi. Nusxa olish, yadroni ishga tushirish, xotirani ishga tushirish jarayonlari asinxron bo'lishi mumkin. Asinxron qo'ng'iroqlardan foydalanganda, avval sinxronizatsiya qilishni doimo yodda tutishingiz kerak ularning natijalaridan foydalanish. 304 Ish vaqti API kamroq moslashuvchan, lekin dasturlar yozish uchun qulayroqdir. Ikkala API ham aniq ishga tushirishni talab qilmaydi va qo'shimcha turdagi va boshqa C tili kengaytmalaridan foydalanish uchun qo'shimcha sarlavha fayllarini kiritishingiz shart emas. Barcha drayver-API funksiyalari cu prefiksi bilan boshlanadi, barcha ish vaqti-API funksiyalari cuda prefiksi bilan boshlanadi. Ikkala APIning deyarli barcha funktsiyalari t_cudaError turidagi qiymatni qaytaradi, bu esa muvaffaqiyatga erishilganda cudaSuccess qiymatini oladi. cudaError_t cudaGetDevicePropertis (cudaDeviceProp* props, int deviceNo) ma'lum bir qurilmaning parametrlarini uning raqami bo'yicha aniqlaydigan funksiyadir. Xususan, funksiya cudaDeviceProp strukturasining asosiy va kichik maydonlaridan ComputeCapability -ni aniqlash imkonini beradi. dim3 blok - ishga tushirishda blok hajmi. Blok bir, ikki va uch o'lchovli bo'lishi mumkin va har bir o'lcham uchun maksimal qiymat (512, 512, 64) va blokdagi iplarning maksimal soni 512 dan oshmasligi kerak; char* cudaGetErrorString(cudaError_t) — funksiya xato tavsifini raqamli kod bilan qaytaradi. cudaError_t cudaGetLastError() - sodir bo'lgan oxirgi xatoni aniqlang dim3 grid - ishga tushirish uchun panjara o'lchami. To'r bir va ikki o'lchovli bo'lishi mumkin va har bir o'lchov uchun maksimal qiymat (65536, 65536, 1) va to'rdagi bloklarning maksimal soni 4294967296 dan oshmasligi kerak ; ip. 6-jadvalda grafik adapterda mavjud bo'lgan turli xil xotira turlari taqqoslanadi. Registrlar - SM uchun 32 KB, mahalliy o'zgaruvchilarni saqlash uchun ishlatiladi. GPU matritsasida joylashgan; kirish tezligi eng tezdir. Har biri uchun alohida cudaError_t cudaThreadSynchronize() sinxronlash buyrug‘i talab qilinadi yadro ichida dinamik foydalanish uchun ishga tushirish; cudaStream_t oqimi - bu yadro ishga tushirilgan oqim tavsifi. size_t mem - buning uchun ajratilgan blok uchun umumiy xotira miqdori ki ko'pincha yadro chaqiruvidan keyin uning to'g'ri ishlashini tekshirish uchun ishlatiladi. Endi siz yadroni ishga tushirish va C tili kengaytmalari (CUDA da kerakli) haqida bilish haqida tasavvurga ega bo'lsangiz, CUDA API ga o'tishingiz mumkin. CUDA ikkita API darajasiga ega: past darajadagi drayver-API va yuqori darajadagi ish vaqti-API. Ish vaqti-API haydovchi-API orqali amalga oshiriladi. cudaError_t cudaGetDeviceCount(int*) - CUDA bo'yicha hisoblash uchun mavjud bo'lgan qurilmalar sonini aniqlaydigan funksiya. Download 1.25 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling