CUDA Programming Applications

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

CUDA Programming Applications

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

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

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

Computer Vision and Applications a guide for students and practitioners

این کتاب در 17 فصل توسط   Bernd Jahne و   Horst Haussecker در سال 2000 در موسسه Academic Press منشر گردید، این کتاب شامل رویکردهای جدید مبحث بینایی ماشین شامل کلیه فرآیندها از ابتدا که داده ها به شکل تصویر دیجیتال از محیط اطراف گرفته می شود تا مراحل نهایی درک و واکنش ماشین نسبت به عوامل محیطی می باشد، اصل این کتاب بر خواندن ترتیبی فصول می باشد تا فهم خواننده را از ابتدای فرایند گرفتن تصویر از محیط تا واکنش ماشین نسبت به محیط بالا برده و کل نیازهای خواننده را پوشش می دهد.

فصل اول: به معرفی المانهای بینایی ماشین، سیستمهای تصویربرداری، پردازش سیگنال برای بینایی ماشین، الگوهای تشخیص بر روی بینایی ماشین، ارزیابی کارآیی الگوریتم ها و کلاس بندی Task ها می پردازد.

فصل دوم:Radiation and Illumination (تابش و نورپردازی) به معرفی و اساس تابش الکترومغناطیسی، مقادیر رادیومتریکی ، اساس فتومتری، تکنیک های روشنایی و ... می پردازد.
فصل سوم:Imaging Optics  (تصویربرداری نوری) به معرفی مفهوم اساسی ژئومتری نوری، لنز، خواص نوری شیشه ، انحرافات ، فرمت تصاویر نوری ، موج و فوریه پرداخته است.
فصل چهارم:Radiometry of Imaging به معرفی سطوح مشاهده، اشباع در تصویربرداری ، تابش اشعه و همچنین تشخیص تابش و ... می پردازد.
فصل پنجم:به معرفی اصل حسگر تصویر ، فرآیند تصویربرداری، انتقال تصویر، تشخیص سیگنالهای الکتریکی،معماری سنسورهای تصویر برداری،بینایی رنگی و تصاویر رنگی پرداخته است.
فصل ششم:به معرفی تکنیکهای کالیبره ، مدل های دوربین و نرم افزارهای تصویربرداری پرداخته است.
فصل هفتم:تکنیکهایتصویربرداری سه بعدی،معرفی مشخصات سنسورهای سه بعدی و تداخل نوری را بیان نموده است.
فصل هشتم:(نمایش سیگنالهای چند بعدی ) به معرفی سیگنالهای پیوسته و گسسته و همچنین ارتباط بین آنها ،تبدیل فوریه گسسته و پیوسته و مقیاسهای سیگنالها و ... پرداخته است.
فصل نهم:به توضیح عملگرهای همسایگی شامل معرفی پایه ،فیلترهای خطی و غیرخطی ، فیلترهای بازگشتی ، میانگین محلی و تشخیص لبه پرداخته است.
فصل دهم:با عنوان motion به معرفی جریانات و تناظرات پایه و optic ، تکنیکهای فیلتر چهارگانه ، همبستگی و تطبیق و مدل کردن حرکات می پردازد.
فصل یازدهم:به بررسی الگوریتمهای تصویربرداری سه  بعدی  شامل stereopsis  و عمق focus می پردازد.
فصل دوازدهم:(طراحی فیلترهای غیرخطی) به معرفی و طراحی فیلتر ، انتخاب پارامتر، بسط و ارتباط رزولوشن های مختلف تصویر پرداخته است.
فصل سیزدهم:(قطعه بندی و هموار نمودن منعطف متغیرها) به معرفی پردازش تصاویر 2 و یا 3 بعدی و همچنین پردازش تصاویر برداری، و تصاویر متوالی پرداخته است.
فصل چهاردهم:به معرفی عملگرهای مورفولوژی شامل مقدماتی ، پایه و پیشرفته پرداخته است.
فصل پانزدهم :به بررسی مدل سازی احتمالی در بینایی ماشین پرداخته است.
فصل شانزدهم: به بررسی پردازش تصویر فازی شامل معرفی و درک پرداز ش تصویر فازی ، سیستم پردازش تصویر فازی و تئوری المانهای پردازش تصویر فازی و مثال های کاربردی پرداخته است.
فصل هفدهم : کاربرد شبکه عصبی در پردازش تصویر را بیان نموده است.