مشاهده نسخه کامل : تاپيك بحث و گ?تگوي عمومي در مورد gpgpu
http://www.gpgpu.org/forums/templates/subSilver/images/logo_phpBB_med.gif
GPGPU سرنام General Purpose computation on GPU هست كه با توجه به توان پردازشي خام ?وقالعادهاي كه GPUهاي مدرن در مقابل CPU ها ارائه ميكنند، عدهاي از دانشمندان و محققين علاقهمند به توسعه برنامهها و الگوريتمهاي غيرگرا?يكيشان بر روي GPUگشتهاند و محاسبات General Purpose خود را به GPU محول ميكنند.
GPU يا پردازندهگرا?يكي امروزه پيچيدگي و توان پردازش خام بسيار بيشتري نسبت به CPUهاي همقيمت خود دارد در واقع بازار چند ميليارد دلاري بازيهاي كامپيوتري موجب گشته كه اين پردازندههاي گرا?يكي قدرتمند در قيمت بسيار مناسبي عرضه شوند به طوري كه يك كارت گرا?يك گرانقيمت متشكل از يك GPU قدرتمند و چند صد مگابايت حا?ظه مجزا را ميتوان به قيمت يك CPUميانقيمت تهيه كرد و از آن در برنامهها و Applicationهاي CPU Limited خود بهره گر?ت.
GPU يك پردازنده Special Purpose هست، يعني براي رندر تصاوير گرا?يكي طراحي شده و بر خلا? CPU كه هر كاري ميشه باهاش انجام داد، هر الگوريتمي رو نميشه به GPUمحول كرد و انتظار داشت كه براتون با سرعت بالاتر از CPU پردازش كنه. طراحي اختصاصي GPU براي كاربردهاي گرا?يكي چند تا مزيت داره ، يكي اينكه چون يك كاربرد براش تعري? شده، ترانزيستورهاي كمتري به واحد كنترل اختصاص داده شده و بيشتر ترانزيستورها در واحدهاي محاسباتي صر? شدند، در مقابل CPU چون يك پردازنده General هست و همه كار ميكنه، كلي مدار كنترلي بايد براش طراحي بشه و سطح زيادي از هسته رو به خودش اختصاص بده تا ميان اين كارها تمايز قائل بشه.
ديگر مزيتش اينه كه اگه ما برنامهاي پيدا كنيم كه مدل محاسباتيش مانند مدل محاسباتي Graphic باشه، به خوبي روي GPU ما map ميشه و ميتونه ا?زايش عملكرد زيادي نسبت به پياده سازي مشابه اون بر روي CPUداشته باشه.
اكثر برنامههاي Scientific و برنامههايي كه حجم محاسبات بالايي دارند، يا در اصطلاح Arithmetic Intensity شون زياده از اين دسته هست و به خوبي روي GPU ميتونند Map بشند.
تا كنون در كاربردهاي زير، در دنياي GPGPU ، برنامههاي مو?قي نوشته شده:
Scientific computing
- Large Matrix/Vector operations
- Solution of System of Linear Equations
- Protein Folding
- Ray Tracing
- Physically-Based simulations (Cloth, Fluid, Collision, Lattices)
Signal processing
- Image processing
- FFT
- Medical Imaging
- Video processing
- HD Video
- Audio processing
- Speech Recognition
سايت مرجع اطلاع رساني GPGPU، به آدرس زير هست كه در اون ميتوانيد اطلاعات كاملي از دنياي GPGPU پيدا كنيد:
www.gpgpu.org
دوشنبه 3/2/86 من يك ارائه تو دانشگاه شاهد دارم با موضوع زير :
Introduction to GPGPU And Usage in Computer Vision
از دوستان اگر كسي مايل بود ميتونه شركت كنه، زياد مطلب سنگيني نيست، در مقايسه با سمينار قبليم هم بار علمي چنداني نداره و مباحث مقدماتي GPGPU رو نميخوام مثل كن?رانس قبليم كامل تشريح كنم. Key noteهاي اين ارائه عبارتند از :
Why GPGPU ?
Introduction to Graphics Pipeline
A Brief on 2nd Generation of GPU Architecture
A Demonstration of GPU Shaders
GPGPU Programming Tools
Computer Vision on the GPU
Introduction to OpenVIDIA Project
Introduction to Vision-GPU project
Appendixes
همونطور كه ميبينيد ابتدا قصد دارم كه GPGPU رو معر?ي كنم، لازمه اين كار معر?ي سايهزنهاي GPU و معمارياش هست، بعدش ابزارهاي GPGPU رو معر?ي ميكنم و سپس كاربردهاي GPGPU توي مباحث بينايي ماشين و پردازش تصوير رو بررسي ميكنم البته به صورت مختصر در حد چند اسلايد، بعد دو تا پروژه Open-Source كه در توسعه برنامههاي پردازش تصوير و بينايي ماشين روي GPU كاربرد ?راوان دارند رو معر?ي مخصر ميكنم .
در انتها هم اگه وقت شد ، توي بخش Appendixes يك اشاره مختصري به معماري نسل سوم GPUها ميكنم و مدل برنامهنويسي GPGPU يي كه NVIDIA در CUDA ارائه كرده رو معر?ي ميكنم.
زمان : دوشنبه 86/2/3 ساعت 10 تا 11 صبح
مكان: دانشگاه شاهد، دانشكده ?ني، كلاس 218
زمان : دوشنبه 86/2/3 ساعت 10 تا 11 صبح
مكان: دانشگاه شاهد، دانشكده ?ني، كلاس 218[/QUOTE]
سلام
از اونجایی که خیلی ها مشتاق هستند تا در جریان این نشست قرار بگیرند اما به دلیل مشغله کاری نمی تونند (مثل خود من) اگر برات ممکنه بعد از ارایه مطلبت می تونی چکیدش رو به صورت یه مقاله تو سایت قرار بدی؟ یا اینکه اون رو به صورت یه ?ایل صوتی که در زمان اجرای نشست ضبط کردی در اختیار بقیه دوستان بذاری تا همه بتونن است?اده کنن؟ من که خیلی مشتاق هستم در جریان مطالبت قرار بگیرم، چون خود موضوع به تنهایی اونقدر جذاب هست که آدم رو برای پیگری قضیه مشتاق کنه.
?ایل پاورپوینت ارائه رو حتمی اینجا می گذارم اما در مورد ظبط صدا و ?ایل صوتی نمی تونم قول بدم ، سعی خودم رو می کنم.
سمينار به خوبي ارائه شد ؛ ?قط چون حجم مطلب با اضا?ه شدن كاربردهاي GPGPU در computer vision ا?زايش پيدا كرده بود و خارج از محدوده زماني كه به من داده بودند مي شد ؛ جزئيات معماري GPU رو در بخش Appendixes گذاشتم ؛ روي CUDA هم ?رصت نشد كاري انجام بدم. اما اطلاعات جالبي پيدا كردم .
?ايل پاورپونت سمينار رو ميتونيد از اينجا دانلود كنيد ؛ حجمش 3.5 مگ هست
http://www.sakhtafzar.com/fileupload/ARH/GPGPU_IP_edit.pdf
تبریک میگم. به امید مو?قیت های بیشتر شما !
Abolfazl-R
29-04-2007, 22:09
مو?ق باشيد آقاي حقدوست...
به خوبي روي GPU ميتونند Map بشند.
دليل اين چيه؟ ربطي به پهناي باند GPU داره؟
مو?ق باشيد آقاي حقدوست...
دليل اين چيه؟ ربطي به پهناي باند GPU داره؟
ببين GPU يک پردازنده کاملا اختصاصي است که صر?ا براي کارهاي گرا?يکي طراحي شده بنابر اين هر برنامه اي رو نمي توان روي اون اجرا کرد ، در مقابل CPU يک پردازنده General هست که هر برنامه اي رو مي شه روش اجرا کرد
برنامه هايي که به خوبي رو يGPU ميتونند MAP بشند ، ويژگي هايي مشابه با ويژگي هاي برنامه هاي گرا?يکي دارند، اين ويژگي ها رو ميشه در به دوبخش اساسي تقسيم کرد :
Data Parallelism بالا
Arithmetic Intensity زياد
به اين خاطر لگوريتم هاي GPGPU يي که قراره روي GPU اجرا بشوند بايد Arithmetic Intensity بالايي داشته باشند که در معماري GPU از سلسله مراتب حا?ظه جهت کم کردن تاخير دسترسي به حا?ظه بهره برده نشده ، به بيان ديگه برنامه هايي که حجم تبادلاتشون با مموري زياده و Arithmetic Intensity شون اندک هست، به صورت کارآمدي روي GPU پياده سازي بشوند
در حالي CPU داراي حا?ظه کش هست که ميتونه تاخير دسترسي به حا?ظه رو به ميزان زيادي کاهش بده
براي كسي كه ميخواد برنامه نويسي GPGPU رو توي پروژهاش به كار بگيره، حتي اگر از كتابخانهها و زبانهاي خيلي سطح بالا هم بخواد است?اده كنه ، لازمه كه يك سري اطلاعات پايهاي در مورد معماري GPU و خط لوله گرا?يكي داشته باشه.
بهترين منبع براي آشنايي با GPGPU ، معماري GPU از ديدگاه غيرگرا?يكي، مدل برنامه نويسي اختصاصي GPU (موسوم به Stream) و تكنيك هاي برنامه نويسي مختص آن جهت ا?زايش سرعت و كارايي، كتاب GPU Gems 2 هست :
http://ec2.images-amazon.com/images/P/0321335597.01._SCLZZZZZZZ_V38087116_.jpg
اين كتاب 65 دلاري رو ميتونيد از هر كدوم لينكهاي زير دانلود كنيد :
http://rapidshare.com/files/9503658/gpu.gems.2-isbn0321335597.djvu
http://mihd.net/icahlu
http://rapidshare.com/files/9482513/GPUGems2.djvu
توي اين كتاب يك ?صل كامل به GPGPU اختصاص داده شده و ساير ?صل ها Gem هاي ديگه GPU رو پوشش ميدهند، بلكه GPU واقعا جواهره ! (البته از ديدگاه NVIDIA)
در واقع اين كتاب مجموعهاي از مقالات پيرامون تكنيكهاي نوين برنامهنويسي Application هاي گرا?يكي و غير گرا?يكي با Back-End Processing پردازندهگرا?يكي هست كه توسط NVIDIA منتشر شده و نويسندههاش هم حدود 40- 50 ن?ري ميشوند كه از سراسر دنيا در تالي?ش شريك بودند.
دانشگاه ما اين كتاب رو از نمايشگاه كتاب پارسال براي من خريد و حدود شش ماهي من مشغول مطالعهاش بودم، واقعا از خوندنش لذت ميبرم و جالبه بدونيد بعضي ?صلهاش رو با توجه به كارم ، سه چهار بار خوندم و خلاصه نويسي كردم از روش.
اين كتاب يكي از دوست داشتني ترين كتابهايي بود كه در زندگيم تا كنون باهاش برخورد كردم.
اين ص?حه ويكي هم مختص همين كتاب هست و نشون ميده كه تنها من جزو طر?دارانش نبودم:
http://www.gpgpu.org/w/index.php/Main_Page
هرچند تكنيك GPGPU كه اين كتاب در يكي از ?صلهاش ارائه ميده اكنون قديمي شدند ( با وجود اينكه ?قط يك سال از تاريخ چاپش ميگذره) اما م?اهيم بسيار ارزشمندي در ساير ?صلهاش هست كه حتمي بهتون توصيه ميكنم براي شروع مطالعه اش بكنيد.
براي كساني كه ميخواند همون تكنيك GPGPU قديمي مبتني بر APIگرا?يكي OpenGL و زبان سايهزن Cg رو ?را گر?ته و به كار بگيرند ، اين كتاب هم مكمل ?رايند يادگيريشون خواهد بود:
http://images.amazon.com/images/P/0321194969.01._SCLZZZZZZZ_.jpg
زبان Cg كه NVIDIA اون رو بر پايه OpenGL براي برنامهنويسي برنامههاي سايهزن كارتگرا?يكها توسعه داده بود، خيلي كم مورد استقبال برنامه نويسان و گرا?يككارها قرار گر?ت و ملت اكثرا سراغ ساير زبانهاي برنامهنويسي سايهزن يا Shader Language ها مثل GLSL (كه براي خود OpenGL هست) و HLSL ( كه براي DX9 هست) ر?تند. الانم با روي كار اومدن DX10 رسما Cg كنار گذاشته شده چون DX10 واسط گرا?يكي هست كه ?قط به HLSL خودش اجازه ميده سايهزنهاي GPU رو برنامهريزي كنه (كاملا خودخواهانه) در حالي كه اين محدوديت در DX9 نبود.
توجيه مايكروسا?ت براي اين كار هم اين بوده كه اگه ?قط يك زبان Shader وجود داشته باشه DX به سادگي ميتونه ارتباط با اون برقرار كرده و كدهاي برنامه نوشته شده توسط اون زبان رو بهينه سازي كنه! به همين خاطر دست ساير رقبا رو كوتاه كرده.
يك كتاب ديگه هم اخيرا پيدا كردم كه هنوز متاسانه مو?ق به دانلودش نشدم :
GPU-Based Interactive Visualization Techniques
http://images.amazon.com/images/P/3540332626.01.MZZZZZZZ.jpg
This book focuses on efficient visualization techniques, which are the prerequisite for the interactive exploration of complex data sets. High performance is primarily achieved by devising algorithms for the fast graphics processing units (GPUs) of modern graphics hardware. Other aspects discussed in the book include parallelization on cluster computers with several GPUs, adaptive rendering methods, multi-resolution models, and non-photorealistic rendering techniques for visualization. Covering both the theoretical foundations and practical implementations of algorithms, this book provides the reader with a basis to understand and reproduce modern GPU-based visualization approaches
كه از اينجا ميتونيد دانلودش كنيد :
http://www.flazx.com/ebook7229.php
در سال 2007 گزارش كاملي از GPGPU توسط جمعي از ?عالان اين عرصه منتشر شده كه حاوي اطلاعات بسيار جامعي است. اين گزارش پيرامون موضوعات زير نگاشته شده است:
- مقدمه اي بر GPGPU و معر?ي آن
- بررسي سختا?زار گرا?يكي قابل برنامهنويسي
- سيستم هاي برنامهنويسي GPU
- تكنيكهاي GPGPU
- كاربردها و Application هاي حوزه GPGPU
- نتيجه گيري
متن كامل اين گزارش را ميتوانيد از اينجا (http://graphics.idav.ucdavis.edu/publications/print_pub?pub_id=907)دريا?ت كنيد.
ضمنا اين گزارش يك نسخه قديميتر هم داشته كه اين لينكي كه دادم ، جديد ترين نسخهاش هست، هرچند سرعت رشد و گسترش علوم اين حوزه آنقدر زياده كه شش ماه براي قديميشدن يك گزارش، زمان كا?ي به نظر ميرسه.
vBulletin v3.7.1, Copyright © 2000-2006, Jelsoft Enterprises Ltd.