منصوبے کے بارے میں

NVIDIA CUDA Samples ایک سرکاری ذخیرہ ہے جس میں مثال کے پروگرام شامل ہیں جو CUDA Toolkit کی خصوصیات اور صلاحیتوں کو ظاہر کرتے ہیں۔ یہ نمونے NVIDIA GPUs کے ساتھ کام کرنے والے ڈویلپرز کے لیے تعلیمی اور حوالہ جاتی مواد کے طور پر کام کرتے ہیں، جس میں بنیادی CUDA تصورات سے لے کر جدید GPU پروگرامنگ تکنیکوں تک کے موضوعات کا احاطہ کیا گیا ہے۔ یہ ذخیرہ دو اہم حصوں میں منظم ہے: C++ نمونے اور Python نمونے۔ C++ نمونے دس گروہوں میں تقسیم ہیں: تعارف (بنیادی CUDA تصورات اور رن ٹائم APIs)، افادیت (ڈیوائس کی صلاحیتوں کی جانچ اور بینڈوتھ کی پیمائش)، تصورات اور تکنیکیں (عام مسائل حل کرنے کے طریقے)، CUDA خصوصیات (کوآپریٹو گروپس، ڈائنامک پیراللزم، CUDA گرافس)، CUDA لائبریریاں (NPP، NVJPEG، cuBLAS، cuFFT، cuSPARSE، cuSOLVER، cuRAND)، ڈومین مخصوص (گرافکس، فنانس، امیج پروسیسنگ)، کارکردگی (بہتری کی تکنیکیں)، libNVVM (NVVM IR کا استعمال)، پلیٹ فارم مخصوص (Tegra، cuDLA، NvMedia، NvSci، OpenGL ES)، اور CUDA Tile (CUDA Tile C++)۔ Python نمونے CUDA Python اور cuda.core استعمال کرتے ہیں تاکہ ڈیوائسز، پروگرامز، لانچز اور میموری مینجمنٹ کو سنبھالا جا سکے، ساتھ ہی NumPy، CuPy یا فریم ورک انٹرآپ کے ساتھ۔ انہیں شروع کرنا، بنیادی تصورات، فریم ورک انٹرآپ (PyTorch اور TensorFlow)، تقسیم شدہ کمپیوٹنگ، اور افادیت میں منظم کیا گیا ہے۔ تعمیر کا نظام CMake استعمال کرتا ہے اور Linux، Windows، Tegra کراس کمپائلیشن، QNX، اور QNX سیفٹی پلیٹ فارمز کو سپورٹ کرتا ہے۔ نمونے تمام معاون GPU آرکیٹیکچرز کے لیے یا مخصوص آرکیٹیکچرز کے لیے بنائے جا سکتے ہیں۔ اس ذخیرے میں ایک ٹیسٹ رنر اسکرپٹ (run_tests.py) شامل ہے جو تمام نمونوں کو سینیٹی چیک کے طور پر چلا سکتا ہے، جس میں قابل ترتیب دلائل، متوازی عمل، اور گرافیکل ڈسپلے کی ضرورت والے نمونوں کے لیے چھوڑنے کے اختیارات ہیں۔ کچھ نمونوں میں تیسرے فریق کے انحصار شامل ہیں جن میں FreeImage، MPI، DirectX، اور DirectX 12 شامل ہیں۔ انسٹالیشن کا نظام بنائے گئے نمونوں کو ہدف آرکیٹیکچر، OS، اور تعمیر کی قسم کی بنیاد پر ایک منظم ڈائریکٹری ڈھانچے میں ترتیب دیتا ہے۔ یہ نمونے CUDA کے لیے توثیقی سوٹ کے طور پر نہیں ہیں بلکہ GPU پروگرامنگ کے نمونوں اور تکنیکوں کے عملی مظاہرے کے طور پر کام کرتے ہیں۔