جمعه 29 تیر 1397 | Friday 20 th of July 2018 صفحه اصلی گروه الکترونیکی کامپیوتر
7ـ3ـ2 بیت مپ حافظه مشترک

   ما به نمونه هایی باز میگردیم که از حافظه مشترک استفاده می کنند و برای اطمینان از اماده بودن داده ها پیش از ادامه کار، __syncthreads()را بکار میبندند. وقتی حرف از سرعت می شود ممکن است به انجام یک کار خطرناک وسوسه شوید و __syncthreads()را حذفکنید. در حال حاضر به یک مثال گرافیکی نیازمند به__syncthreads() برای دانستن میزان صحت رجوع می کنیم.ما به شما تصاویری هر چند اندک از خروجی در نظر گرفته شده و خروجی را در زمانی نشان می دهیم که بدونsyncthreads __ ()  قابل اجرا هستند.

 بدنه  main()با مثال مجموعه ژولیایGPU یکسان است، هر چند که در این زمان رشته های متعدد در هر بلوک راه اندازی می شوند:


 همانطور که در مثال مجموعه ژولیا نشان داده شد، هر رشته یک مقدار پیکسلی را برای محل یک خروجی واحد محاسبه خواهد کرد.اولین چیزی که هر رشته انجام میدهد محاسبه محلX وY خود در تصویر خروجی است.این محاسبه با محاسبه سه بعدی در مثال جمع برداری یکسان است، اگر چه که اینبار ما انرا بصورت دو بعدی محاسبه میکنیم:

و دست اخر، این مقادیر برگردانده شده به پیکسل ذخیره می شوند و ترتیب x  و yمعکوس میشود:

مسلما، این محاسبات تا حدودی خودسرانه هستند.ما صرفا با چیزهایی روبرو می شویم که شبکه ای از حباب های کروی سبز را به ترسیم می کنند.بنابراین پس از کامپایل و اجرای این کرنل، تصویری شبیه به انچه در شکل 7ـ5 نشان داده شده را بعنوان خروجی خواهیم داشت.

 حال در اینجا چه اتفاقی می افتد؟ ممکن است در حین بروز حدسهایی در ذهن شما از نحوه تنظیم مثال، یک نقطه همزمانساری مهم از دست برود. وقتی یک رشته اقدام به ذخیره مقدار محاسبه شده به پیکسل انهم بصورت [][] مشترک میکند، این احتمال وجود دارد که رشته مسئول نوشتن مقدار [][] مشترک هنوز کار نوشتن را تمام نکرده باشد.تنها راه تضمین اتفاق نیفتادن این مسئله، استفاده از__syncthreads()میباشد. بنابراین، نتیجه یک تصویر خراب از حباب های سبز میباشد.

هر چند که این پایان جهان است ولی ممکن است نرم افزار، مقادیر مهم تری را مورد محاسبه قرار دهد.

 در عوض، ما به اضافه کردن یک نقطه همزمانسازی بین نوشتن برای حافظه مشترک و خواندن متعاقب اننیاز داریم.

شکل 7ـ6 تصویر بعد از اضافه کردن همزمانسازی مناسب.

Compatability by:
آخرین به روز رسانی سایت: سه شنبه, 22 اسفند 1391 - 00:26