NVIDIA a anunţat lansarea ultimei versiuni a kitului de instrumente NVIDIA CUDA pentru dezvoltarea de aplicaţii optimizate pentru limbajele de programare paralelă folosind unităţile de procesare vizuală NVIDIA.
Kitul de instrumente NVIDIA CUDA 4.0 a fost proiectat pentru a face programarea paralelă mai facilă şi pentru a permite mai multor programatori să îşi porteze aplicaţiile pe GPU-uri. Acest lucru a permis realizarea a trei caracteristici principale:
• Tehnologia NVIDIA GPUDirect 2.0 – Oferă suport pentru comunicarea de tip “peer-to-peer” între GPU-urile unui singur server sau staţii de lucru. Această caracteristică permite programarea mai uşoară şi mai rapidă pentru sisteme “multi-GPU”.
• Adresare virtuală universală (UVA) – Oferă un singur spaţiu unificat, al memoriei pentru memoria principală a sistemului şi pentru memoria GPU-ului, permiţând o programare paralelă mai rapidă şi mai facilă.
• Librării C++ optimizate pentru performanţă cu ajutorul Thrust – Oferă o colecţie de algoritmi C++ de tip open-source şi structuri de date care facilitează o programare mai uşoară pentru dezvoltatorii C++. Cu Thrust, operaţiuni de rutină precum sortarea paralelă sunt de 5x până la 100x mai rapide decât prin folosirea Standard Template Library (STL) şi a Threading Building Blocks (TBB).
Arhitectura CUDA 4.0 include un număr de alte caracteristici şi capabilităţi esenţiale, printre care:
• Integrarea MPI cu aplicaţiile CUDA– Implementări MPI modificate, precum OpenMPI mută data în mod automat de la şi până la memoria GPU-ului prin intermediul conexiunii Infiniband când o aplicaţie trimite sau primeşte un apel MPI.
• Partajarea Multi-thread a GPU-urilor – Firele de execuţie multiple ale CPU-ului pot partaja contexte pe un singur GPU, făcând mai facilă folosirea unui singur GPU pentru aplicaţii de tip “multi-thread”.
• Partajarea GPU-urilor multiple pentru un singur fir de execuţie ale CPU-ului – Un singur fir de execuţie al CPU-ului poate accesa toate GPU-urile dintr-un sistem. Dezvoltatorii pot coordona cu uşurinţă activitatea desfăşurată pe GPU-uri multiple pentru sarcini precum pentru schimbul de tipul “halo” în aplicaţii.
• O nouă librărie pentru imagini de tip NPP şi vizualizare computerizată – Un set bogat de operaţiuni de transformare a imaginii oferă suport pentru dezvoltarea de aplicaţii de imagine şi vizualizare computerizată.
• Capabilităţi noi şi îmbunătăţite: analiza automată a performanţei în aplicaţia Visual Profiler, noi funcţii în cuda-gdb şi suport pentru sistemul de operare MacOS, adăugarea suportului pentru funcţii C++ precum new/delete şi funcţii virtuale şi un nou dezasamblor pentru sistemul binar al GPU-ului
O versiune pre-finală a kitului de instrumente CUDA 4.0 va fi disponibilă gratuit începând cu 4 martie, 2011, prin înregistrarea în programul de “Dezvoltator CUDA Înregistrat”. Programul “Dezvoltator CUDA Înregistrat” oferă o serie de unelte, resurse şi informaţii pentru ca dezvoltatorii de aplicaţii paralele să maximizeze potenţialul oferit de CUDA.