سؤال

أنا مبرمج C ++ الذي يطور خوارزميات الصور والفيديو، هل يجب علي تعلم NVIDIA CUDA؟ أو أنها واحدة من هذه التقنيات التي سوف تختفي؟

هل كانت مفيدة؟

المحلول

كودا هي حاليا تقنية بائع واحد من NVIDIA وبالتالي لا تملك دعم متعدد البائع opencl هل.

ومع ذلك، فإن الأمر أكثر نضجا من opencl, ، لديها وثائق رائعة والمهارات المستفادة باستخدامها سيتم نقلها بسهولة إلى مجموعة أدوات معالجة بيانات البورلاليل الأخرى.

كمثال على ذلك، اقرأ خوارزميات موازية البيانات بواسطة ستيل وهيليس ثم انظر إلى nvidia دروس - هناك صلة واضحة بين الاثنين بعد أن كتبت ورقة ستيل / هيليس 20 سنه قبل تقديم CUDA.

وأخيرا، فإن مشاريع FCUDA يعمل على السماح بمشاريع CUDA لاستهداف أجهزة غير NVIDIA (FPGAS).

نصائح أخرى

يجب على CUDA التمسك لفترة من الوقت، ولكن إذا كنت بدأت للتو، فسوف أوصي بالنظر opencl أو directcompute.. وبعد كلا هؤلاء يعمل على ATI وكذلك أجهزة NVIDIA، بالإضافة إلى العمل على وحدات المتجهات (SSE) من وحدات المعالجة المركزية.

أعتقد أنك يجب أن تتوحظ مع opencl, ، وهو معيار مفتوح ودعمه ATI، NVIDIA وأكثر من ذلك. قد لا تختفي CUDA في السنوات القادمة، ولكن على أي حال أنها غير متوافقة مع GPUs غير NVIDIA.

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

هذا هو عصر الحوسبة عالية الأداء، والحوسبة الموازية. CUDA و OPENCL هي التقنيات الناشئة للحوسبة GPU هي في الواقع حوسبة عالية الأداء! إذا كنت مبرمجا عاطفي وعلى استعداد لتحقيق معيار في الخوارزميات الموازية، يجب أن تذهب حقا لهذه التقنيات. سيتم تنفيذ الجزء الموازي للبيانات من البرنامج الخاص بك في جزء بسيط من الثانية على المعمارة متعددة النواة GPU التي تستغرق وقتا أطول بكثير في وحدة المعالجة المركزية الخاصة بك ..

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top