CUDA and the rise of NVIDIA - editorial illustration

جينسن هوانج و CUDA و صعود NVIDIA

مقدمة

لما جينسن هوانج شارك فى تأسيس NVIDIA سنة 1993، كان هدفها إنها تجيب الجرافيكس التلات أبعاد لألعاب الكمبيوتر والمولتيميديا. دلوقتى بيتستخدم معالجات نفس الشركة عشان تدرب وتشغل نمازج الذكاء الاصطناعى. عشان تفهم التحول ده، كويس نبدأ بخلفية هوانج الهندسية ومنصة السوفتوير اللى NVIDIA بناها، وهى CUDA. [1] [1]

1. المسيرة الهندسية بتاعة هوانج

هوانج اتولد فى تايوان، وخد بكالوريوس الهندسة الكهربائية من جامعة ولاية أوريجون سنة 1984. اشتغل مصمم معالجات دقيقة فى AMD من 1984 لـ 1985، وبعدين شغل كذا منصب فى LSI Logic من 1985 لـ 1993. وبقى مدير Coreware، القسم المسؤول عن استراتيجية الشركة إنها تدمج مكونات كتير من نظام الكمبيوتر على شريحة واحدة. وفى الفترة دى كمان خد ماجستير الهندسة الكهربائية من جامعة ستانفورد سنة 1992. [2] [1]

فى 5 ابريل 1993، هوانج أسس NVIDIA مع كريس مالاكوسكى وكيرتس بريم. وهو شاغل منصب الرئيس والرئيس التنفيذى وعضو مجلس الإدارة من بدابة الشركة. سنة 1999، NVIDIA عملت طرح عام أولى. ونفس السنة، قدمت GeForce 256، اللى كانت علامة مميزة فى تاريخ كروت الشاشة (GPU) بتاعة الشركة. [1] [1]

2. يعنى ايه CUDA؟

NVIDIA قدمت CUDA سنة 2006 كمنصة سوفتوير ونموذج برمجة عشان تعمل حسابات كتير بالتوازى على كروت الشاشة بتاعتها. كارت الشاشة هو الهاردوير اللى بيعمل الحسابات. CUDA بتدى أدوات البرمجة اللى المطورين بيستخدموها عشان يشغلوا حساباتهم على الهاردوير ده. ده فتح كروت الشاشة اللى متعملة للجرافيكس قدام تطبيقات البحث العلمى والحوسبة عالية الأداء والذكاء الاصطناعى. [1] [1]

تخيل إنك بتنوّر صورة فيها مليون بيكسل. الحساب بتاع بيكسل واحد ممكن يمشى لوحده من غير الباقى. برنامج CUDA ممكن يقسم الشغل ده لحسابات أصغر ويشغلها على كارت الشاشة. الفانكشن اللى بتشتغل على كارت الشاشة اسمها كيرنل. ثريدز كتير بتنفذها بالتوازى، كل واحد بيشتغل على الجزء اللى اتخصص ليه من البيانات. ونفس مبدأ تقسيم الشغل لأجزاء تقدر تشتغل بالتوازى بينطبق على حسابات الذكاء الاصطناعى زى ضرب المصفوفات الكبيرة. [3] [1]

3. CUDA ساعدت صناعة الذكاء الاصطناعى ازاى

لما بتدرب شبكة عصبية، النموذج الاول بيعمل توقع. عملية التدريب بتقيس الغلط وبتحدث معاملات النموذج، وبتعيد العملية دى مرات كتير. كروت الشاشة بتسرّع عمليات زى ضرب المصفوفات، فبتدى الباحثين وقت يعملوا تجارب أكتر وبتخلى تدريب نمازج أكبر حاجة عملية. وكمان كروت الشاشة بتتستخدم بعد التدريب، وقت الاستدلال، لما نموذج زى نموذج اللغة بيطلع رد للمستخدم. [4] [1]

AlexNet قدمت برهان عملى سنة 2012. بعد ما اتدربت على كروت شاشة NVIDIA، كسبت مسابقة ImageNet لتصنيف الصور. أداؤها وضح ازاى معالجات الجرافيكس اللى بتتستخدم فى ألعاب الكمبيوتر تقدر كمان تدرب نمازج تعرف الصور. [1] [1]

4. CUDA ادت NVIDIA ميزة دائمة ازاى

NVIDIA بنت مكتبات وأدوات متظبطة للحسابات اللى المطورين محتاجينها كتير. cuBLAS بتسرّع عمليات المصفوفات، و cuDNN بتدعم العمليات الشائعة للشبكات العصبية، و NCCL بتدير التواصل بين كروت الشاشة، و TensorRT بتساعد النمازج المتدربة تشتغل أسرع. وفريموركات زى PyTorch بتدعم CUDA، فالمطورين يقدروا يستخدموا الامكانيات دى من غير ما يكتبوا كل عملية على كارت الشاشة من الصفر. [5] [1]

الخلاصة

المنظومة السوفتوير دى قوّت شغل الهاردوير بتاع NVIDIA. فريق واحد يقدر ينتقل من تجربة صغيرة لنظام شغال على كروت شاشة كتير وهو لسه بيستخدم سوفتوير وأدوات متعود عليها. تغيير الهاردوير ممكن يخلى الفريق يراجع اعتماده على CUDA ويظبط أجزاء من السوفتوير بتاعه ويجرب الأداء من تانى. وباستثمارها فى السوفتوير جنب الهاردوير سنين، NVIDIA كان عندها أدوات جاهزة للمطورين اللى كانوا عارفين ازاى يستخدموها لما الطلب على حوسبة الذكاء الاصطناعى كبر. [1] [1]

المراجع

  1. https://www.nvidia.com/en-us/about-nvidia/corporate-timeline/
  2. https://s201.q4cdn.com/141608511/files/doc_financials/annual/2013/NVDA_2013AR_Proxy_10K-FINAL.pdf
  3. https://docs.nvidia.com/cuda/cuda-programming-guide/02-basics/writing-cuda-kernels.html
  4. https://docs.nvidia.com/cuda/cuda-programming-guide/index.html
  5. https://developer.nvidia.com/machine-learning

أسئلة عن جينسن هوانج و CUDA و صعود NVIDIA

يعنى ايه CUDA وليه NVIDIA بناها؟

CUDA منصة سوفتوير ونموذج برمجة NVIDIA قدمتهم سنة 2006 عشان تشغل حسابات كتير بالتوازى على كروت الشاشة بتاعتها. كارت الشاشة هو الهاردوير؛ أما CUDA فبتدى أدوات البرمجة، اللى فتحت هاردوير الجرافيكس قدام البحث العلمى والحوسبة عالية الأداء والذكاء الاصطناعى.

CUDA ساعدت صناعة الذكاء الاصطناعى ازاى؟

تدريب شبكة عصبية يعنى تعيد التوقع وقياس الغلط وتحديث المعاملات مرات كتير. كروت الشاشة بتسرّع عمليات زى ضرب المصفوفات، فبتخلى الباحثين يعملوا تجارب أكتر ويدربوا نمازج أكبر. AlexNet، اللى اتدربت على كروت شاشة NVIDIA، أثبتت ده بكسبها مسابقة ImageNet سنة 2012.

ليه CUDA بتدى NVIDIA ميزة دائمة؟

NVIDIA بنت مكتبات متظبطة المطورين محتاجينها كتير – cuBLAS لعمليات المصفوفات، و cuDNN لعمليات الشبكات العصبية، و NCCL للتواصل بين كروت شاشة كتير، و TensorRT لاستدلال أسرع – وفريموركات زى PyTorch بتدعم CUDA، فالفرق تقدر تكبر من تجربة صغيرة لكروت شاشة كتير من غير ما تعيد كتابة السوفتوير بتاعها.

Powered By K7