PDA

View Full Version : پیاده سازی الگوریتم کرم شب تاب با CUDA



Caesar
جمعه 14 فروردین 1394, 23:28 عصر
با سلام و عرض ادب خدمت دوستان عزیز

ممنون میشم توی یه قسمت از پروژم کمکم کنید.در حال حاضر روی یه پروژه دارم کار می کنم که یه قسمتش مربوط به پیاده سازی الگوریتم کرم شب تاب با CUDA هستش.من تابحال با CUDA برنامه نویسی نکردم.ممنون میشم کمکم کنید.اگه مقدوره سورس پروژه رو کجا میتونم پیدا کنم.

با آرزوی موفقیت برای شما دوستان عزیز

am_al_59
شنبه 15 فروردین 1394, 01:36 صبح
من با کودا تا حالا کار نکردم فقط میدونم یک تکنولوژی مخصوص چیپ های Nvidia هست
اگر میخوای برای GPU برنامه نویسی کنی میتونی از این لینک استفاده کنی
http://www.codeproject.com/Articles/202792/Using-Cudafy-for-GPGPU-Programming-in-NET
این برنامه برای اجرا نیاز به یک پروژه اپن سورس دیگه هم داره اینم لینکش
https://cudafy.codeplex.com
اینم یک لینک دیگه
http://gpgpu.org/tag/c

مظمئن نیستم اما فکر میکنم wpf از GPU بطور خودکار استفاده میکنه مخصوصاً وقتی که با xaml و اون Storyboard های گستردش کار میکنی. حتی windowهاش رو هم میشه کیفیت رندر و سختی یا نرمی رو تنظیم کرد.

Caesar
شنبه 15 فروردین 1394, 19:44 عصر
ممنون از پاسخ گوییتون دوست عزیز
ولی من منظورم پیاده سازی الگوریتم کرم شب تاب رو با کودا می خواستم.تمرکز اصلی روی پیاده سازی خود الگوریتمه

reza_noei
شنبه 15 فروردین 1394, 23:06 عصر
ممنون از پاسخ گوییتون دوست عزیز
ولی من منظورم پیاده سازی الگوریتم کرم شب تاب رو با کودا می خواستم.تمرکز اصلی روی پیاده سازی خود الگوریتمه

سلام.
اگر بخواهید در محیط ویژوال استودیو با Cuda کار کتید باید فریم ورک cuda را از سایت Nvidia دانلود کنید.
و آن را نصب کنید. حال به راحتی میتوانید ویژوال استودیو را باز کنید و به کمک سی پلاس پلاس و کتابخانه های cuda برنامه نویسی cuda انجام بدهید
در برنامه نویسی gpu مهم ترین کاری که باید انجام بدید اینه که باید تخصیص حافظه روی gpu انجام دهید و از چند کلمه کلیدی
در هنگام تعاریف متغیرها و توابع برای استفاده از gpu استفاده کنید. و در انتها هم باید نتیجه محاسبات رو از حافظه gpu به حافظه ram منتقل کنید.
برخلاف حافظه اصلی در gpu چند نوع حافظه وجود داره که استفاده بهینه از این حافظه ها به سرعت اجرای برنامه شما کمک می کند.
برنامه نویسی cuda تفاوت زیادی با برنامه نویسی سی و سی پلاس پلاس ندارد.
مهم ترین ویژگی gpu اینه که در پردازش موازی با تعداد نخ های بسیار زیاد فوق العاده عمل میکنه. پس سعی کنید ابتدا الگوریتمی که نوشته اید
را به صورت موازی و جند نخی بنویسید (سعی کنید در نخ ها از دستور if و swich کمتر استفاده کنید تا سرعت اجرا کاهش پیدا نکند).

Caesar
شنبه 15 فروردین 1394, 23:43 عصر
ممنون دوست عزیز.مشکل حل شد.

خیلی خیلی ممنونم