CUDA Programming Applications

کاربردهای برنامه نویسی کودا

CUDA Programming Applications

کاربردهای برنامه نویسی کودا

کتابcomputer aided intelligent recognition techniques

در دو دهه اخیر کارهای با ارزشی در حوزه تشخیص کاراکتر صورت گرفته است و مقالات زیادی درباره این موضوع ارائه شده است، تشخیص کاراکتر تعامل خوبی را بین انسان و ماشین شامل پردازش اتوماتیک داده، اعتبارسنجی و غیره فراهم می نماید مانند برخی از نرم افزارهای بانکی (پرداخت قبض از روی بارکدو...)،نرم افزارهای علمی ، تجاری (مانند فروشگاههاو...)

مزیت دیگر نرم افزارهای تشخیص کاراکتر کاهش مداخله انسان در ورود داده و همچنین کاهش خطای تایپ تسریع امر خواندن داده می باشد، مخصوصا زمانی که داده به شکل خواندنی در سیستم موجود باشد، اما با تمام مزایایی که ذکر شد تشخیص حروف عربی بدلیل بهم پیوسته بودن حروف و شکل خاص حروف و سختی پردازش متن هنوز پتانسیل های زیادی را دارد،و همین پتانسل برای زبان چینی هم وجود دارد، کتاب computer aided intelligent recognition techniques در 24 فصل به معرفی و بررسی چندین الگوریتم و متد در مورد پردازش خودکار کاراکتر پرداخته است.


CUDA C Programming

کتاب CUDA C Programming توسط JOHN (RUNWEI) CHENG و  MAX GROSSMAN  و TY MCKERCHER در سال 2014 منتشر شد.این کتاب مقدمه ای خوب برای کسانی است که قصد در شروع برنامه نویسی موازی با پلتفرم کودا را دارند که به معرفی معماری و اجرای برنامه های کاربردی در حالت موازی پرداخته است، لذا از بازدیدکنندگان محترم تقاضا می شود برای درک مفهوم این کتاب فصول را به ترتیب خوانده و به اجرای مثالهای کتاب در محیط کودا بپردازند، این کتاب شامل ده فصل که در زیر به شرح مختصری ازآنها پرداخته شده است می باشد.



فصل اول به بررسی محاسبات موازی ناهمگن با پلتفرم CUDA شامل معرفی محاسبات موازی، برنامه نویسی موازی و معماری کامپیوتر و سپس به معرفی محاسبات ناهمگن شامل معماری و نمونه های ناهمگن  پرداخته است .سپس مثال ساده HelloWorld را به اجرا در آورده است.
فصل دوم به مدل برنامه نویسی با CUDA شامل ساختار برنامه نویسی با CUDA،مدیریت حافظه ، سازماندهی thread ها، راه اندازی کرنل کودا، نوشتن کرنل ،ارزیابی کرنل نوشته شده ،رفع خطاها ، کامپایل و اجرا و بررسی زمانبندی با CPU و GPU و سازماندهی thread های موازی ،شاخص گذاری ماتریسها با بلاکها و تردها،جمع ماتریسها با گریدها و بلاکهای دوبعدی و تک بعدی و همچنین با گریدهای دو بعدی و بلاکهای تک بعدی و مدیریت Device ها پرداخته است.
فصل سوم به مدل اجرا در CUDA شامل نگاه اجمالی به معماری GPUو FERMIو Kepler و درک ذات اجرای نخها ، بررسی موازی سازی ، باز کردن حلقه ها و موازی سازی پویا پرداخته است.
فصل چهارم به معرفی مدل حافظه CUDA ،مزایای سلسله مراتب حافظه ،مدیریت حافظه، تخصیص و آزادسازی حافظه ،الگوی دستیابی به حافظه ، خواندن و نوشتن سراسری در حافظه و پهنای باند در حافظه پرداخته است.
فصل پنجم به معرفی حافظه به اشتراک گذاشته شده در CUDA شامل تخصیص حافظه به اشتراک گذاشته شده ، تنظیمات مقدار حافظه اشتراکی ، همگام سازی ، بررسی آرایش داده در حافظه اشتراکی ، کاهش دسترسی به حافظه سراسری و ... می پردازد.
فصل ششم به معرفی رویدادها و Stram ها شامل CUDA Stream،زمانبندی Stream ، اولویت Stream، رویدادهای CUDA و همگام سازی Stream ها می پردازد.
فصل هفتم به معرفی دستورالعملهای CUDA شامل بهینه سازی برنامه های کاربردی ،توابع استاندارد ، تک دقتی در مقابل دقت مضاعف می پردازد.
فصل هشتم به معرفی برخی از کتابخانه های CUDA جهت دسترسی سریع به GPU می پردازد.
فصل نهم برنامه نویسی چند منظوره را با GPU و نحوه انتقال داده از CPU به GPU و بالعکس و همچنین از CPU به CPU و از GPU به GPU را شرح می دهد.
فصل دهم ملاحظاتی به اجرا و پیاده سازی برنامه در محیط CUDA دارد.

overview and proposals performance evaluation in content based image retrieval

ارزیابی کارآیی بازیابی یکی از مسائل بحرانی در امر بازیابی تصویر محتوا محور به شمار می رود،روش های مختلفی برای اندازه گیری کارآیی ابداع و توسط محققین استفاده شده اند ، درoverview and proposals performance evaluation in content based image retrieval در مورد مزیت و مختصر از معیارهای اندازه گیری که در حال حاضر استفاده می شود بحث شده است.

تفاوت بین IR(Information Retrieval) و CBIR(Content Base Image Retrieval)واضح است از آنجایی که محققان IR دهها سال با مشکلات ارزیابی مواجه بوده اند برخی از راه حل های آنها می تواند برای CBIR مورد استفاده قرار گیردبا وجود اینکه تفاوتهایی هم بین آنها وجود دارد.چندین نکته بایستی به منظور ساخت مجموعهتصاویر مرسوم بررسی شوند:1-مجموعه بایستی رایگان و بدون محدودیت کپی رایت باشد بنابراین تصاویر می توانند در وب جای گیرند و قابل دسترس عموم باشند بزرگترین مسئله ساخت یک مجموعه با تصاویر متمایز کافی در موضوعات مختلفی از قبیل ماشین ، چهره ، تصاویر پزشکی و ... می باشد.

روشهای ارزیابی کارآیی :

1- ارزیابی کاربری یک روش کاملا متعامل است که کاربر می تواند مستقیما موفقیت جستجو را داوری نماید.

2- اندازه گیری تک ارزشی :رتبه بهترین تطبیق مورد ارزیابی قرار می گیرد.

3- نمایش گراف

پروفسور حمیدرضا تیزهوش

پروفسور حمیدرضا تیزهوش استاد دانشکده مهندسی واترلو از سال 2001 هستند و ایشان سرپرستی آزمایشگاهKnowledge Inference in Medical Image Analysis
را به عهده دارند.و بعنوان محقق در آزمایشگاه سیستمهای هوشمند در دانشگاه تورنتو همکاری خود را آغاز نمودند.زمینه تحقیقاتی ایشان هوش مصنوعی ، بینایی ماشین و تصاویر پزشکی است و همچنین الگوریتم هایی را در زمینه جستجو، قطعه بندی و فیلتر نمودن تصاویر پزشکی بسط داده اند.دکتر تیزهوش بواسطه سازمانهایی همچون  NSERC, OCE, FedDev, MITACS, MaRS, HTX, IRAP, ORF-RE  از پشتیبانی های خوبی برخوردار شدند و 2 کتاب را تالیف نموده اند و بیش از 140 مقاله علمی در ژورنالهای معتبر ارائه داده اند و همچنین با 5 دفتر بازرگانی همکاری دارند و آثار منتشر شده ایشان چندین لوح تقدیر از مراکز مختلف به خود اختصاص داد. علاوه بر این ایشان از تجربیات صنعتی گسترده ای برخوردار هستند و با چندین شرکت از جمله با سازمانManagement of Intelligent Technologies GmbH  در آلمان

و Image Processing Systems Inc. (a Markham-based company acquired by Photon Dynamics Inc. (San Jose, CA)) در کانادا و Medipattern Corporation

(Toronto)در تورنتو همکاری داشته اند و هم اکنون به عنوان مشاور در Huron Digital Pathologyدر کانادا مشغول به کار هستند، بعلاوه اینکه ایشان بیش از ده سال در کار بازرگانی و StartUp تجربه دارند.ایشان در سال 2007 تکنولوژی segasist را درزمینه توسعه نرم افزار قطعه بندی تصاویر رادیولوژی و انکولوژی شروع نمودند و در آمد شرکت تحت سرپرستی ایشان به دو میلیون دلار رسید و همچنین FDA510  را برای تشخیص سرطان پروستات با کمک بیمارستان sunnybrook

و مرکز تشخیص سرطان لندن با موفقیت برنامه ریزی و مدیریت نمودند.