از پارسکدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.
چهار سال پیش منتشر شده
تعداد بازدید: 419
کد پروژه: 100096
شرح پروژه
1. پیادهسازی ضرب ماتریسها (:
مسئله ضرب ماتریسها که به صورت نمونه در اسلایدهای درسی مطرح شد را پیادهسازی نمایید.
در ادامه نکاتی در خصوص کاهش تعداد دسترسیها به حافظه global و استفاده از روشهای بهینهتر مطرح شد. به منظور کاهش تعداد دسترسی به حافظه global می توان عملیات ضرب ماتریس را به گونه ای تغییر داد که kernel قسمتی از ماتریسA و B را درحافظه سریع محلی local کپی کند به صورتی که این قسمت بین thread های موجود در یک بلاک قابل اشتراک گذاری نیز میباشد. نحوه تقسیم بلاک و ضرب در شکل زیر آورده شده است. برنامه نوشته را به نحوی تغییر دهید که با این روش عملیات ضرب را در GPU انجام دهد.
در پایان بایستی موارد زیر را در خصوص هر دو پیادهسازی گزارش نمایید:
الف) تعداد کل عملیات ممیز شناور انجام شده
ب) زمان انجام عملیات ضرب توسط kernel پیادهسازی شده
پ) زمان انتقال دادهها به/از حافظه GPU
2. شمارش تعداد تکرار اعداد موجود در یک ماتریس :
ماتریسی به ابعاد 8192 * 8192 از اعداد صحیح موجود است که مقادیر موجود در آن در محدوه عددیِ مشخصی قرار دارند. مثلا کلیه اعداد ماتریس، اعداد صحیحی در بازه [0,1023] هستند. قصد داریم تعداد تکرار هر عدد را در ماتریس مورد نظر شمارش کنیم. در نتیجه حاصل عملیات شمارش، یک آرایه 1024 عنصری خواهد بود که در هر خانه آن تعداد تکرار آن عدد در ماتریس قرار میگیرد.
برای بدست آوردن فراوانی مقادیر در یک ماتریس به کمک GPU
a. برنامه را به گونه ای بنویسید که هر thread عملیات شمارش یکی از مقادیر (یکی از 1024 عنصر) را انجام دهد. مثلا thread شماره صفر، تعداد تکرار عدد صفر و thread شماره یک تعداد تکرار عدد یک را در ماتریس شمارش نماید.
b. برنامه را به گونه ای بنویسید که ماتریس به صورت بلاکی بین threadها تقسیم شود (بلاکهایی به ابعاد 16 * 16) و هر thread عملیات شمارش کلیه مقادیر اما در بلاک مربوط به خودش را انجام دهد. دقت نمایید که نتیجه نهایی باید توسط یک thread ایجاد شود. در این حالت کلیه محاسبات بایستی روی GPU انجام شود.
مهارت ها و تخصص های مورد نیاز
بودجه
100,000 تومان تا 300,000 تومان
مهلت برای انجام
8روز
وضعیت مناقصه
بسته
درباره کارفرما
عضویت چهار سال پیش
قادر به انجام این پروژه هستید؟
مهلت ارسال پیشنهاد قیمت برای این پروژه تمام شده است
به رایگان یک حساب کاربری بسازید
مهارتها و تخصصهای خود را ثبت کنید، رزومه و نمونهکارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.
به شیوهای که دوست دارید کار کنید
برای پروژههای دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصتهای شغلی منحصر به فرد دسترسی پیدا کنید.
با اطمینان دستمزد دریافت کنید
از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.
میخواهید شروع به کار کنید؟
یک حساب کاربری بسازید
بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارتهای شما
است.
پیدا کردن کار (پروژه)
تماشای دمو روش کار