CUDA nüvələri ilə tensor nüvələri arasındakı fərq nədir? (İzahat edildi) – Bütün Fərqlər
Mündəricat
CUDA və Tensor nüvələri Nvidia adlı şirkət tərəfindən hazırlanmış məhsullardır. Beləliklə, CUDA nüvələri və Tensor nüvələri nədir? CUDA, Compute Unified Device Architecture deməkdir. Nvidia tərtibatçılarının dediyi kimi, CUDA nüvələri GPU-larınızda, smartfonlarınızda və hətta avtomobillərinizdə mövcuddur.
CUDA nüvələri ümumi təyinatlı emal üçün proqram təminatına xüsusi növ qrafik emal vahidlərindən (GPU) istifadə etməyə imkan verən paralel hesablama platforması və tətbiqi proqramlaşdırma interfeysidir (API).
Nvidia tərəfindən hazırlanmış tenzor nüvələri də GPU-larda istifadə olunur. Tensor nüvələri dəqiqliyi qoruyarkən ötürmə qabiliyyətini artırmaq üçün hesablamaları dinamik şəkildə uyğunlaşdıraraq, qarışıq dəqiqlikli hesablamalara imkan verir.
Sadə sözlə desək, bu nüvələr müəyyən hesablamalar aparmaq üçün kompüterinizdə olan GPU-ların mühüm hissəsidir. CUDA nüvələri iki ədədi çoxaltmaq və onları başqa nömrəyə əlavə etmək üçün istifadə olunur.
Halbuki Tensor nüvəsi eynidir, lakin 4×4 matrislidir. Bu hesablamalar əsasən sizin üçün qrafikləri daha sürətli göstərir.
CUDA nədir?
Nvidia tərəfindən hazırlanmış, 23 iyun 2007-ci ildə buraxılmış qısaca CUDA Hesablama Birləşdirilmiş Cihaz Arxitekturası paralel hesablama platforması və tətbiqi proqramlaşdırma interfeysidir (API).
Bu. proqram təminatına ümumi təyinatlı emal üçün xüsusi növ qrafik emal vahidlərindən (GPU) istifadə etməyə imkan verir ki, bu metod ümumi təyinatlı hesablama kimi tanınır.GPU (GPU).
CUDA, hesablama nüvələrinin icrası üçün GPU-nun virtual təlimat dəstinə və paralel hesablama elementlərinə birbaşa çıxışı təmin edən proqram qatıdır. CUDA C, C++ və Fortran daxil olmaqla müxtəlif proqramlaşdırma dilləri ilə işləmək üçün hazırlanmışdır.
Müxtəlif proqramlaşdırma dilləri ilə işləmək bacarığı paralel proqramlaşdırma üzrə mütəxəssislərin GPU resurslarından istifadəni asanlaşdırır, əgər biz onu Direct3D və ya OpenGL kimi əvvəlki API-lərdən fərqləndirsək, bu da sizdən daha təkmil proqramlaşdırma tələb edir. qrafik proqramlaşdırma üzrə bacarıq bazası.
CUDA ilə GPU, həmçinin OpenMP, OpenACC, OpenCL kimi proqramlaşdırma çərçivələrini və həmçinin belə kodu CUDA-ya tərtib edə bilən HIP-i dəstəkləyir. CUDA üçün istifadə edilən ilk ad Compute Unified Device Architecture üçün qısaldılmış ad idi. Bununla belə, Nvidia daha sonra tez-tez istifadə olunan akronimdən imtina etdi.
Güclü Nvidia Qrafik kartı GTX 1080 Ti
CUDA haqqında ətraflı
İxtisaslaşdırılmış kompüter prosessoru kimi qrafika emal bloku (GPU) real tələblərə cavab verir. -vaxt, intensiv hesablama tələb edən 3D qrafik iş yükləri.
Təxminən 2012-ci ildə GPU-lar inkişaf etdi və böyük bloklar üçün məlumatların effektiv emalını təmin edən yüksək paralel çoxnüvəli sistemlərə çevrildi.
Böyük məlumat bloklarını paralel olaraq emal edərkən, bu dizayn alqoritmlər üçün ümumi təyinatlı mərkəzi emal vahidlərindən (CPU) üstündür, məsələn:
- kriptoqrafik hashfunksiyalar
- maşın öyrənmə
- molekulyar dinamika simulyasiyaları
- fizika mühərrikləri
- çeşidləmə alqoritmləri
İndi CUDA Arxitekturasının istifadəsi və Gələcəkdə
- 3D qrafikanın sürətləndirilmiş göstərilməsi
- Video fayl formatlarının sürətləndirilmiş qarşılıqlı çevrilməsi
- Sürətləndirilmiş şifrələmə, şifrənin açılması və sıxılma
- Bioinformatika, məsələn, NGS DNT ardıcıllığı BarraCUDA
- Zülalların təbii uyğunluğunun proqnozlaşdırılması kimi paylanmış hesablamalar
- Tibbi analiz simulyasiyaları, məsələn, CT və MRT skan şəkillərinə əsaslanan virtual reallıq
- Fiziki simulyasiyalar, xüsusən də maye dinamikasında
- Maşın öyrənmə problemlərində neyron şəbəkə təlimi
- Üzün tanınması
- Paylanmış hesablama layihələri, məsələn, [email protected] və digər layihələr BOINC
- Molekulyar dinamika
- Mining kriptovalyutaları
- Hərəkətdən struktur (SfM) proqramı
Tensor nüvəsi nədir?
Tensor nüvələri adlanan ixtisaslaşdırılmış nüvələr qarışıq dəqiqlikli təlimə imkan verir. Bu ixtisaslaşmış nüvələrin ilkin nəsli bunu əridilmiş çoxalma-əlavə alqoritmi ilə edir. Bu, 4 x 4 FP16 və ya FP32 matrisinə iki 4 x 4 FP16 matrisini çoxaltmağa və əlavə etməyə imkan verir.
Yalnız cüzi dəqiqlik itkisi ilə yekun nəticə FP32 olacaq, qarışıq dəqiqlikli hesablamalar belə təyin olunsa dagiriş matrisləri aşağı dəqiqlikli FP16 ola bilər.
Praktikada bu, modelin son effektivliyinə az təsir etməklə hesablamaları əhəmiyyətli dərəcədə sürətləndirir. Bu imkan sonrakı mikroarxitekturalar tərəfindən daha da az dəqiq kompüter nömrələri təqdimatına qədər genişləndirildi.
Birinci nəsil V100-dən başlayaraq Volta mikroarxitekturası ilə təqdim edildi, hər keçən nəsildə yeni GPU mikroarxitekturaları ilə hesablamalar üçün daha çox kompüter nömrələrinin dəqiqliyi formatları əlçatan edildi.
Növbəti bölmədə hər bir mikroarxitektura nəsli ilə Tensor Cores-un tutumunun və funksionallığının necə dəyişdiyi və yaxşılaşdığı barədə danışacağıq.
Titan V tərəfindən hazırlanmış qrafik təsviri
Tensor nüvələri necə işləyir?
Birinci Nəsil:
Volta GPU mikroarxitekturası Tensor nüvələrinin birinci nəslinə daxil edilmişdir. Bu nüvələr qarışıq dəqiqliklə və FP16 nömrə formatı ilə məşq etməyə imkan verdi.
Bu, müəyyən GPU-lar üçün teraFLOP ötürmə qabiliyyətini 12 dəfə artıra bilər. Ən yüksək səviyyəli V100-ün 640 nüvəsi əvvəlki nəslin Paskal GPU-ları ilə müqayisədə performans sürətini 5 dəfə artırmağa imkan verir.
İkinci Nəsil:
Turing GPU-larının tətbiqi ilə Tensor nüvələrinin ikinci nəsli təqdim edildi. Int8, Int4 və Int1 dəstəklənən Tensor Core dəqiqlikləri siyahısına əlavə edildi.əvvəllər FP16 ilə məhdudlaşır.
Qarışıq dəqiqlikli təlim prosedurları sayəsində GPU-nun performans ötürmə qabiliyyəti Paskal GPU-ları ilə müqayisədə 32 dəfəyə qədər artırıldı.
Üçüncü Nəsil:
Amper GPU-dakı arxitektura FP64, TF32 və bfloat16 dəqiqlikləri üçün dəstək əlavə etməklə Volta və Turing mikroarxitekturalarının əvvəlki inkişaflarını genişləndirir.
Dərin öyrənmə təlimi və nəticə çıxarma fəaliyyətləri bu əlavə dəqiqlik formatları ilə daha da sürətləndirilir. Məsələn, TF32 formatı FP32 ilə eyni şəkildə işləyir və eyni zamanda heç bir kodu dəyişdirmədən 20x sürətləndirməyə zəmanət verir.
Həmçinin bax: Google və Chrome Tətbiqi Arasındakı Fərq Nədir? Hansı birini istifadə etməliyəm? (Faydalar) – Bütün FərqlərSonra, yalnız bir neçə sətir kodla, avtomatik qarışıq dəqiqliyin tətbiqi təlimi əlavə 2 dəfə sürətləndirəcək.
Möhtəşəm sürətli multi-GPU qarşılıqlı əlaqəsini təmin etmək üçün üçüncü nəsil NVLink, üçüncü nəsil Ray Tracing nüvələri və seyrək matris riyaziyyatı ilə ixtisaslaşma Amper mikroarxitekturasının əlavə aspektləridir .
Dördüncü Nəsil:
Tensor nüvələrinin Hopper mikroarxitekturasına əsaslanan dördüncü nəslinin gələcək buraxılışı planlaşdırılır. Növbəti H100-də dördüncü nəsil Tensor nüvələri.
2022-ci ilin martında buraxılması gözlənilir, FP8 dəqiq formatlarını idarə edə biləcək və NVIDIA-ya görə, nəhəng dil modellərini "heyrətləndirici 30X sürətləndirəcək" əvvəlki nəsil üzərində.”
RTX qrafik kartıdırTərkibində tenzor nüvələri olduğu üçün qrafikləri çox sürətli göstərmək üçün istifadə olunur.
CUDA nüvələri ilə tensor nüvələri arasındakı fərq
Tensor nüvələri hazırda Titan V və Tesla V100 ilə məhdudlaşır. Hər iki GPU-dakı 5120 CUDA nüvələri hər GPU saatı üçün (məsələn, Tesla V100 PCIe tezliyi 1,38 Gz-dir) bir dəqiqlikli çoxaltma əməliyyatı (məsələn, fp32-də: x += y * z) maksimum tutumuna malikdir.
Hər bir tensor nüvəsi kiçik matrislər üçün 4×4 kiçik matrislərdə işləyir. Bir GPU saatı üçün hər tensor nüvəsi bir matrisin çoxaldılması-toplanması əməliyyatını tamamlaya bilər.
O, iki 4×4 FP16 matrisini çoxaldır və akkumulyatorla nəticələnən 4×4 FP32 matrisini əlavə edir (bu həm də fp32 4×4 matrisidir).
Daxiletmə matrisləri fp16, vurma nəticələri və akkumulyator fp32 olduğu üçün alqoritm qarışıq dəqiqlik kimi tanınır.
Düzgün termin sadəcə "4×4 matris nüvələri" ola bilər, lakin NVIDIA marketinq komandası "tensor nüvələrindən" istifadə etməyi seçdi.
Tensor nüvələrinin qısa şəkildə tam izahı
GPU kartı | CUDA nüvələri | VRAM |
---|---|---|
GeForce GTX 1660 Ti | 1536 | 6GB |
GeForce GTX 1660 Super | 1408 | 6GB |
GeForce GTX 1660 | 1408 | 6GB |
GeForce GTX 1650 Super | 1408 | 4GB |
GeForce GTX 1650 | 1024 və896 | 4GB |
GeForce GTX 1060 3GB | 1280 | 4GB |
GeForce GTX 1650 | 1280 | 3GB |
GeForce GTX 1060 6GB | 768 | 6GB |
GeForce GTX 1050 Ti (3GB) | 768 | 4GB |
GeForce GTX 1050 (2GB) | 640 | 3GB |
GeForce GTX 960 | 1024 | 2GB |
GeForce GTX 950 | 786 | 2GB |
GeForce GTX 780 Ti | 2880 | 2GB |
GeForce GTX 780 | 2304 | 3GB |
GeForce GTX 750 Ti | 640 | 2 GB |
GeForce GTX 750 | 512 | 1 GB və ya 2 GB |
CUDA nüvələri olan GPU-lar
Həmçinin bax: Qızıl Kaplama Arasındakı Fərq & amp; Qızıl Bağlı - Bütün FərqlərNəticə
- CUDA və Tensor nüvələri hər ikisi Nvidia adlı şirkət tərəfindən hazırlanmış məhsullardır. CUDA, Compute Unified Device Architecture deməkdir. Bu CUDA nüvələri GPU-larınızda, smartfonlarınızda və hətta avtomobilinizdə mövcuddur.
- Halbuki Nvidia tərəfindən hazırlanmış tenzor nüvələri də GPU-larda istifadə olunur. "Tensor nüvələri" adlı xüsusi nüvələr qarışıq dəqiqlikli təlimlərə imkan verir. Tensor nüvələrinin birinci nəsli qarışıq dəqiqliklə və FP16 nömrə formatı ilə məşq etməyə imkan verdi.
- Bu, müəyyən GPU-lar üçün teraFLOP ötürmə qabiliyyətini 12 dəfə artıra bilər. Int8, Int4 və Int1 dəstəklənən Tensor Core dəqiqlikləri siyahısına əlavə edildi.
- Qarışıq olduğuna görədəqiq təlim prosedurları ilə GPU-nun performansı 32 dəfəyə qədər artırıldı. Hopper mikroarxitekturasına əsaslanan dördüncü nəsil Tensor nüvələrinin gələcək buraxılışı planlaşdırılır.