View Full Version : مبتدی: استفاده از GPU برای انجام امور محاسباتی سنگین
majid2230
دوشنبه 22 اسفند 1390, 13:43 عصر
سلام من این سوال رو تو قسمت برنامه نویسی C# مطرح کردم ولی کسی جواب نداد اگر از دوستان کسی اطلاعاتی داره لطفا راهنمایی کنه. چه جوری میشه کدی نوشت که از GPU برا انجام محسبات حجیم و زمان ب استفاده کنه ضمنا من به زبان c# کد می نویسم ممنون
hi.alir
دوشنبه 22 اسفند 1390, 19:12 عصر
تا جایی که من اطلاع دارم #C چیزی برا اینکار نداره. البته اگه منظورتون GPGPU هست.
hadiabc
دوشنبه 22 اسفند 1390, 22:27 عصر
سلام
برای این کار می تونی از کودا استفاده کنید دوست من
majid2230
سه شنبه 23 اسفند 1390, 00:03 صبح
میشه توضیحات بیشتری راجع به نحوه برنامه نویسیه با CUDA بدین ، مثلا برای این که یه عملیات ضرب ماترسی رو از برنامه نویسی معمولی به کدنویسی کناسب برای تکنولوژی CUDA تغییر بدیم ساختار کد چه تغییر یباید بکنه ؟
ممنون
hi.alir
سه شنبه 23 اسفند 1390, 11:25 صبح
کودا واسه سی پلاس هست. می تونی از کتابخونه های ریاضی xna تو سی شارپ استفاده کنی. از اس ای ام دی استفاده می کنند. اگه کفاف نداد گمون نکنم دیگه با سی شارپ بشه کاری کرد.
مصطفی ساتکی
سه شنبه 23 اسفند 1390, 13:17 عصر
cuda C مثل همون C استانداره یا یکسری توابع و ماکروی جانبی و کلمات کلیدی جهت کار با gpu کارت گرافیک .
کد می تونه هم تو host یعنی cpu و هم device یعنی gpu اجرا شه.
مثلاً کلمه کلیدی __global__ قبل نام تابع باعث میشه که تابع رو device اجرا شه که به این تابع اصطلاحاً kernel میگن.
توابعی مثل malloc,free , memcpy توابعی هستند که رو host کار می کنن و توابع مشابه برای device یا کپی داده از host به device و بالعکس وجود داره مثل cudaMalloc cudaFree , cudaMemcpy .
من خودم استفاده می کنم سرعتش فوق العاده هستش .
AbdolHabib8
یک شنبه 06 فروردین 1391, 13:13 عصر
سلام.
CUDA
OpenCL
DirectCompute
این ها گزینه هایی هستند که می تونید بررسی کنید.باید دنبال کتابخونه انتقال داده شده اونها به سی شارپ برگردید.زبون برنامه هایی که این API ها با اونها کار می کنند به زبان برنامه میزبان (سی یا سی شارپ و غیره) وابسته نیستند .مثل اسکریپتند و در زمان اجرا روی کارت گرافیک بار می شند.مثلا دایرکت کامپیوت با سینتکس HLSL کار می کنه.کودا به عکس اون دو تای دیگه فقط روی کارت های انویدیا کار می کنه.دایرکت کامپیوت همراه با بسته دایرکت ایکس 11 اخیرا عرضه شده و تا اون جایی که من می دونم توسط SlimDX به سی شارپ منتقل شده.
msd163
پنج شنبه 31 فروردین 1391, 22:36 عصر
سلام بر همگی
یه مقاله 17 صفحه ای در مورد برنامه نویسی کودا براتون میذارم
امیدوارم مفید باشه
msd163
جمعه 01 اردیبهشت 1391, 10:41 صبح
CUDA
OpenCL
DirectCompute
این ها گزینه هایی هستند که می تونید بررسی کنیدلازم به ذکره که کودا با دو تای دیگه فرق داره و توصیه میشه اگه قراره کار پردازش موازی انجام بدید از اون(کودا) استفاده کنید. چراکه کودا توابع API گرافیکیو دور میزنه، یعنی دیگه نیاز نداره که برای انجام کاراش روی کارت گرافیکی از توابع API استفاده کنه.
nVIDIA با نصب سخت افزار خاصی روی کارتهای گرافیک سری G80 به بعد کودا را برای این گونه کارتهای گرافیکی توسعه داد که سربارهای محاسباتی و پیچیدگیهایی که گریبان گیر برنامه نویس میشه رو از میان بر میداره.
یه نکته ی دیگه که لازمه بهش اشاره بشه اینه که:
فکر نکنید پردازشگرهای گرافیکی(GPU) اومدند که پردازنده های مرکزی(CPU) رو حذف کنند. لااقل الآن اینجوری نیست، در واقع فلسفه ی طراحی CPU ها انجام کارهای متوالی بوده و فلسفه ی طراحی GPUها انجام کارهای موازی و اینکه امروزه GPU ها مورد توجه قرار گرفته اند نیاز به انجام عملیات های موازی سنگین و زیاد است. هنوز محاسباتی هستند که CPU بخوبی از عهده ی آنها بر می آید ولی GPU قادر به انجام آنها نیست و این دسته از محاسبات، آنهایی هستند که باید بطور متوالی (سریالی) انجام شوند.
فلسفه ی کودا نیز استفاده همزمان از CPU و GPU و تقسیم عملیات ها بین این دو نوع پردازنده است.
سپول
پنج شنبه 14 اردیبهشت 1391, 10:09 صبح
CUDA - OpenCL و DirectCompute فرق چندانی با هم ندارند. همشون فقط API هستند و یک کار رو انجام می دهند.
CUDA دارای API ساده تری هست ولی فقط روی کارت های nvidia اجرا می شه
OpenCL روی همه کارت ها از جمله nvidia و ati و حتی روی cpu های معمولی و تمام سیستم عامل ها هم اجرا می شه و استاندارد تر هست به نسبت
DirectCompute هم روی همه کارت ها اجرا می شه ولی مختص DirectX هست و در ویندوز اجرا می شه. در ضمن دسترسی بهتری به منابع گرافیکی می ده (اگه با DirectX11 کار می کنید)
برای کار با c# هم باید دنبال binding های اون بگردید. هر کدوم از اینها رو سرچ کنید XXXXX .NET ببینید چه کتابخونه هایی میاد.
حالا سخت نگیرید و یکیش رو به سلیقه خودتون انتخاب کنید
soroushp
چهارشنبه 27 اردیبهشت 1391, 23:10 عصر
دوستان مقاله ای در مورد GPU دارید آپلود کنید ؟
amin1softco
پنج شنبه 28 اردیبهشت 1391, 09:24 صبح
در مورد GPU یا روش استفاده از اون برای محاسبات؟!
http://forums.nvidia.com/index.php?showforum=64
http://barbagroup.bu.edu/gpuatbu/Program_files/Cruz_gpuComputing09.pdf
http://www.pgroup.com/lit/pgi_whitepaper_accpre.pdf
GPU که سرچ بزنید (http://www.tebyan.net/science_technology/computermagazine/educationaltopics/2012/1/25/195937.html) اینقدر مقاله فارسی و انگلیسی براش موجوده که نیاز به گفتن نداره!!!
fariba66kmas
چهارشنبه 17 خرداد 1391, 21:19 عصر
سلام
من می خوام یه برنامه با CUDA یا Opencl پیاده کنم
می شه کمکم کنین ، بلد نیستم ، نمی دونم دقیقا از کجا باید شروع کنم
کارت گرافیکیم nvidia gforce gt 520m هستش
چی باید نصب کنم؟
amin1softco
پنج شنبه 18 خرداد 1391, 07:10 صبح
من بودم از اینجا شروع می کردم
http://opencl.codeplex.com/wikipage?title=OpenCL%20Tutorials%20-%201
amin1softco
پنج شنبه 18 خرداد 1391, 10:46 صبح
سلام بله دیگه
The host can be programmed in C or C++ and it controls the OpenCL environment
البته من تست نکردم ولی یک نگاهی که بندازید خودتون متوجه می شید که با سی++ است.
sibooy
دوشنبه 18 دی 1391, 16:35 عصر
سلام
ببخشید من یک کارت گرافیک انویدیا 660 دارم ویندوز سون 64 بیت رو سیستمم نصبه ویژوال استودیوی 2010 هم نصب کردم کودای 5 رو هم با هزار مکافات دانلود و نصب کردم اما نمی تونم با ویژوال استودیو برای کودا برنامه بنویسم. یه آموزش تصویری داره که مراحل اونو که می رم می گه برنامه منقضی شده(out of date)
فایل های هدر کودا رو توی پوشه include قسمت vc ریختم.
دیگه قاطی کردم بخدا پایان نامه من لنگ این موضوع مونده یه راهنمای کار با کودا توسط ویژوال استودیو هم دانلود کردم مطابق مراحل اون که می رم توی منوی دیباگ اون زیر منو هایی که میگه نیست
http://www.stevenmarkford.com/installing-nvidia-cuda-with-visual-studio-2010/
این نحوه کار با کودا روی ویژوال استودیو هست
خیلی خیلی به کمکتون نیاز دارم اصلا نمی دونم چیکار کنم خواهش می کنم راهنماییم کنید
sibooy
دوشنبه 18 دی 1391, 16:36 عصر
cuda C مثل همون C استانداره یا یکسری توابع و ماکروی جانبی و کلمات کلیدی جهت کار با gpu کارت گرافیک .
کد می تونه هم تو host یعنی cpu و هم device یعنی gpu اجرا شه.
مثلاً کلمه کلیدی __global__ قبل نام تابع باعث میشه که تابع رو device اجرا شه که به این تابع اصطلاحاً kernel میگن.
توابعی مثل malloc,free , memcpy توابعی هستند که رو host کار می کنن و توابع مشابه برای device یا کپی داده از host به device و بالعکس وجود داره مثل cudaMalloc cudaFree , cudaMemcpy .
من خودم استفاده می کنم سرعتش فوق العاده هستش .
سلام
ببخشید من یک کارت گرافیک انویدیا 660 دارم ویندوز سون 64 بیت رو سیستمم نصبه ویژوال استودیوی 2010 هم نصب کردم کودای 5 رو هم با هزار مکافات دانلود و نصب کردم اما نمی تونم با ویژوال استودیو برای کودا برنامه بنویسم. یه آموزش تصویری داره که مراحل اونو که می رم می گه برنامه منقضی شده(out of date)
فایل های هدر کودا رو توی پوشه include قسمت vc ریختم.
دیگه قاطی کردم بخدا پایان نامه من لنگ این موضوع مونده یه راهنمای کار با کودا توسط ویژوال استودیو هم دانلود کردم مطابق مراحل اون که می رم توی منوی دیباگ اون زیر منو هایی که میگه نیست
http://www.stevenmarkford.com/installing-nvidia-cuda-with-visual-studio-2010/
این نحوه کار با کودا روی ویژوال استودیو هست
خیلی خیلی به کمکتون نیاز دارم اصلا نمی دونم چیکار کنم خواهش می کنم راهنماییم کنید
sibooy
دوشنبه 18 دی 1391, 16:39 عصر
سلام
ببخشید من یک کارت گرافیک انویدیا 660 دارم ویندوز سون 64 بیت رو سیستمم نصبه ویژوال استودیوی 2010 هم نصب کردم کودای 5 رو هم با هزار مکافات دانلود و نصب کردم اما نمی تونم با ویژوال استودیو برای کودا برنامه بنویسم. یه آموزش تصویری داره که مراحل اونو که می رم می گه برنامه منقضی شده(out of date)
فایل های هدر کودا رو توی پوشه include قسمت vc ریختم.
دیگه قاطی کردم بخدا پایان نامه من لنگ این موضوع مونده یه راهنمای کار با کودا توسط ویژوال استودیو هم دانلود کردم مطابق مراحل اون که می رم توی منوی دیباگ اون زیر منو هایی که میگه نیست
http://www.stevenmarkford.com/installing-nvidia-cuda-with-visual-studio-2010/
این نحوه کار با کودا روی ویژوال استودیو هست
خیلی خیلی به کمکتون نیاز دارم اصلا نمی دونم چیکار کنم خواهش می کنم راهنماییم کنید
sibooy
یک شنبه 22 اردیبهشت 1392, 19:03 عصر
یه سری تنظیمات دیگه هم داشت که من بعدها پیداش کردم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.