جمعه 31 فروردین 1397 | Friday 20 th of April 2018 صفحه اصلی گروه الکترونیکی کامپیوتر
5ـ3 دستگاه های جستجوگر

داشته باشد  در زمانیکه می خواهیم حافظه ای به سیستم تخصیص دهیم وکدی روی ان اجرا کنیم . از این گذشته  این برای هر فردی معمول است که  بیش از یک سیستم مجهز به نرم افزار CUDAرا در هر کامپیوتر داشته باشد.در چنین موقعیت هایی ،قطعا می خواهیم یک راهی برای تعیین پردازنده موجود  مشخص کنیم.

برای مثال، خیلی از مادربوردها همراه با پردازنده های گرافیکی مجتمع شده شرکت NVIDIAارسال می شوند. زمانیکه سازنده یا کاربری،پردازنده گرافیکی مجزایی به این کامپیوتر اضافه کند در ان صورت است که  دوپردازنده ی مجهز به نرم افزار CUDAبه ان اضافه می شود.برخی از محصولات شرکت NVIDIA،مثلGeForce GTX295T  ، همرا با دو GPUدر یک کارت ارسال می شود.کامپیوترهایی که بر روی خود چنین محصولاتی را دارند قابلیت نشان دادن دوپردازنده ی مجهز به نرم افزار CUDAرا دارا می باشند.

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


پس از فراخوانی تابعcudaGetDeviceCount()  ،می توانیم از طریق دستگاه ها و پرس وجو ، اطلاعات مربوط به هرکدام را بازگو کنیم. در زمان اجرای CUDAاین خاصیت ها در یک ساختار از نوع cudaDeviceProp  بازگردانده می شود. چه نوع خواصی را برای ما بازگو می کنند؟ همچون CUDA 3.0، ساختار cudaDeviceProp  شامل موارد زیر است:

 بعضی از اینها نیازی به توضیح ندارند ولی برخی دیگر نیازبه توضیح مختصری دارند( جدول 5_3 را ببینید)

جدول5_3 خواص دستگاه با CUDA

نمی خواهیم از بحث خیلی دور شویم پس به سرعت برمی گردیم ودر اینجا از ذکرجزئیات گسترده این خصوصیات می پرهیزیم.درحقیقت لیست قبلی که در برگیرنده برخی از اطلاعات مهم درباره بعضی از این خواص است از دست رفته است ،بنابراین می توانید برای اطلاعات بیشتر از  راهنمای برنامهNVIDIA CUDA  مشورت بگیرید.زمانیکه شما در نوشتن برنامه کاربردی خودتان حرکتی می کنید،این خصوصیات را که بسیار مفید می باشد را ثبت خواهید کرد،با این وجود درحال حاضر ما به سادگی چگونگی پرس وجو درمورد هر دستگاه وگزارش ویژگی های هر یک را نشان خواهیم داد.تا کنون پرس و جوی دستگاه ما چیزی شبیه به این به نظر می رسد:


حال که ما هر یک اززمینه های دردسترس برای خود را می دانیم،می توانیم در مورد ابهامات "کاری انجام دهید..."بخش و پیاده سازی موارد حاشیه ای و بی اهمیت شرح دهیم

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