مُجمِّع Nvidia CUDA
مُجمِّع Nvidia CUDA ( NVCC ) هو مُجمِّع من إنتاج شركة Nvidia مُصمَّم للاستخدام مع CUDA . وهو برنامج احتكاري .
المترجم
يعمل كود CUDA على كلٍ من وحدة المعالجة المركزية (CPU) ووحدة معالجة الرسومات (GPU). يفصل NVCC هذين الجزأين، ويرسل كود المضيف (الجزء الذي سيُنفذ على وحدة المعالجة المركزية ) إلى مُترجم لغة C مثل GNU Compiler Collection (GCC) أو Intel C++ Compiler (ICC) أو Microsoft Visual C++ Compiler (MVCC)، ويرسل كود الجهاز المسمى "النوى" (الجزء الذي سيُنفذ على وحدة معالجة الرسومات) إلى وحدة معالجة الرسومات. ثم يقوم NVCC بتجميع كود الجهاز. يعتمد NVCC على LLVM . [ 1 ] وفقًا لوثائق Nvidia، يدعم nvcc في الإصدار 7.0 العديد من بنيات اللغة المُعرّفة في معيار C++11 ، وبعضها من C99 . وفي الإصدار 9.0، أُضيفت بنيات أخرى من معيار C++14 . [ 2 ]
يجب تجميع أي ملف مصدر يحتوي على امتدادات لغة CUDA (.cu) باستخدام nvcc. يُعد nvcc برنامج تشغيل للمُجمِّع، ويعمل عن طريق استدعاء جميع الأدوات والمُجمِّعات اللازمة مثل cudacc و g++ و cl، إلخ. يُمكن لـ nvcc إخراج إما كود C (كود وحدة المعالجة المركزية) الذي يجب تجميعه مع باقي التطبيق باستخدام أداة أخرى، أو تنفيذ الخيوط المتوازية (PTX)، أو كود كائن مباشرةً. يتطلب الملف التنفيذي الذي يحتوي على كود CUDA مكتبة CUDA الأساسية (cuda) ومكتبة وقت تشغيل CUDA (cudart).
مكتبات أخرى شائعة الاستخدام:
- CUBLAS: تطبيق BLAS
- CUFFT: تطبيق FFT
- CUDPP (البيانات المتوازية البدائية): الاختزال، المسح، الفرز.
- الدفع: التخفيض، المسح، الفرز.
انظر أيضاً
- OpenCL
- بنية النظام غير المتجانس
- ثنائي CUDA (كوبين) - نوع من الثنائيات الدهنية
مراجع
- ↑ "مُجمِّع CUDA LLVM" . مطورو Nvidia . تم الاطلاع عليه في 6 أبريل 2016 .
- ↑ "دليل برمجة CUDA C++" . مركز توثيق NVIDIA . تم الاطلاع عليه بتاريخ 28-06-2019 .
عام
- ديفيد ب. كيرك، ووين-مي و. هوو. برمجة المعالجات المتوازية الضخمة: منهج عملي. مورغان كوفمان، 2010.
- "برنامج تشغيل مُجمِّع Nvidia CUDA (NVCC)" . مركز توثيق Nvidia . مؤرشف من الأصل بتاريخ 13 أكتوبر 2023.
- "CUDPP" . GPGPU . مؤرشف من الأصل في 17 نوفمبر 2018.
روابط خارجية
- برنامج Nvidia
- المترجمون
