سلام به همه دوستانی که دارند این نوشته رو می خونند. تمام تلاشم اینه که بتونم هر روز پست جدیدی رو براتون بذارم اما خب در این باره نمی تونم قولی بدم. امیدوارم در بدترین شرایط بتونم هفته ای یکبار این کار رو بکنم.
در ادامه نکاتی که راجع به OpenCL گفتم چندتا نکته دیگه هم وجود داره که بهتره توی اولین گام های ورود به دنیای OpenCL بهشون توجه بشه. دوستان عزیز، سند The OpenCL™ Specification از وبسایت https://www.khronos.org رو دانلود کنید و بهتره برای آشنایی با مفاهیم و نحوه کار با OpenCL این سند رو مطالعه کنید. سعی کنید به جای ترجمه کلمه به کلمه اون، به مفهومش توجه کنید، البته که ناگزیر هستید بخشی از مطالب رو ترجمه کنید تا به طور دقیق به مفهومش پی ببرید اما خب این رو بدونید که هدف شما ترجمه نیست بلکه یادگیری مفهوم هست. همونطور که قبلا هم گفتم، این سند کمی سنگین نوشته شده و شاید اولین باری که با این سند مواجه بشید کمی نامفهوم به نظر برسه اما شما ناامید نشید و به مطالعه ادامه بدید فقط ممکنه که کمی طول بکشه پس به خودتون زمان بدین. بهتره که اول بخش مربوط به Glossary رو مطالعه کنید و به ادبیات OpenCL مسلط بشید. هدف شما یادگیری مفهوم کلمات هست نه حفظ کلمات. سعی کنید مفهوم تک تک لغات رو یاد بگیرید اینجوری توی ذهنتون هم می مونه. چون در تمامی اسناد آموزشی از این کلمات بارها استفاده شده، تاکید می کنم در گام اول حتما بخش Glossary رو مطالعه کنید.
همونطور که قبلا گفتم، OpenCL یک استاندارد برای پردازش موازی است. شاید کمی مطالعه راجع به موازی سازی، اهمیت اون و مزایای اون، براتون خیلی مفید باشه. این رو بدونید که هدف از استفاده از OpenCL افزایش بازده و سرعت پردازش با استفاده از پردازش موازی هست. اکثر افرادی که دستی توی طراحی معماری های مختلف دارند، این رو می دونند که امکان نداره شما بتونید یک پارامتر رو بهبود ببخشید بدون اینکه پارامتر دیگری رو تضعیف کنید. به این میگن Trade of. بنابراین وقتی OpenCL بتونه سرعت و بازده رو بالاتر ببره قطعا پارامتر دیگری رو تضعیف می کنه که اون پارامتر Area هست و یا بهتر بگم میزان سخت افزار مصرفی. بهتره خودتون این رو تجربه کنید. خیلی خیلی خوشحال میشم که تجربیاتتون رو با من به اشتراک بذارید تا بتونیم به هم کمک کنیم.