<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های داود درستکار</title>
        <link>https://virgool.io/feed/@davood_dorostkar</link>
        <description>مهندس مکاترونیکی که به هوش مصنوعی، برنامه نویسی و سخت افزار علاقه منده!</description>
        <language>fa</language>
        <pubDate>2026-06-10 13:11:05</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/169914/avatar/z1G5qW.png?height=120&amp;width=120</url>
            <title>داود درستکار</title>
            <link>https://virgool.io/@davood_dorostkar</link>
        </image>

                    <item>
                <title>راه‌حلی ساده‌تر برای برنامه‌نویسی GPU</title>
                <link>https://virgool.io/@davood_dorostkar/%D8%B1%D8%A7%D9%87-%D8%AD%D9%84%DB%8C-%D8%B3%D8%A7%D8%AF%D9%87-%D8%AA%D8%B1-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-gpu-iqeampnhyrow</link>
                <description>شرکت OpenAI یک شرکت هوش مصنوعی است که در زمینه تحقیقات و توسعه هوش مصنوعی و به خصوص هوش مصنوعی عمومی (Artificial General Intelligence) پیشرو محسوب می‌شود، به تازگی نسخه اول زبان برنامه‌نویسی Triton را منتشر کرده است. تریتون یک پروژه متن-باز است که این قابلیت را فراهم می‌کند تا برنامه‌های یادگیری عمیق (Deep learning) را بدون نیاز به دانستن پیچیدگی‌‌های برنامه‌نویسی GPU بنویسند. هرچند که OpenAI آن را زبان برنامه‌نویسی می‌نامد اما شاید بهتر باشد بگوییم فریمورک تریتون.تریتون ۱.۰ بر پایه پایتون (۳.۶ و بالاتر) کار می‌کند. برنامه‌نویس بایستی کد خود را با پایتون و با استفاده از کتابخانه‌های تریتون بنویسد، سپس کد او به صورت JIT یا Just-In-Time برای اجرا در GPU کامپایل می‌شود. روش کامپایل JIT اجازه می‌دهد تا برنامه در حین اجرا کامپایل شود. این کار کمک می‌کند تا برنامه بتواند در حین اجرا بهینه‌سازی شود. از طرفی سرعت این روش بیشتر از زبان‌های برنامه نویسی Interpreter است. جاوا از این سیستم کامپایل استفاده می‌کند. البته با وجود اینکه کاربر کد خود را با پایتون می‌نویسد اما هسته خود تریتون، عموما با ++C نوشته شده و کامپایلر معروف LLVM را برای ارتباط با GPU استفاده می‌کند.استفاده این کتابخانه‌ها از پایتون امکان یکپارچه‌سازی کل برنامه را می‌دهد،‌ چرا که پایتون زبانی است که بیشترین مورد استفاده را در بین کاربردهای یادگیری ماشین دارد. از طرف دیگر با این کار تریتون کار خود را ساده کرده و بجای خلق یک زبان جدید از پایتون استفاده کرده است.کتابخانه‌های تریتون مجموعه‌ای از ابزارهای اولیه را در اختیار قرار می‌دهند که از این نظر یادآور NumPy است. برای مثال انواعی از عملیات‌های ماتریسی یا توابعی که در کاهش اندازه آرایه‌ها استفاده می‌شود.  کافیست تا در ابتدای کد پایتون، آن را import کرده و عبارت triton.jit@ را اضافه کنید.مثال‌های عملی ساده تریتون شامل هسته جمع برداری و عملیات fused softmax است. مورد دوم به ادعای OpenAI با تریتون چندین برابر سریعتر از softmax با PyTorch برای عملیات‌هایی که صرفا بر روی حافظه GPU انجام می‌شود، بوده است.چیز دیگری که خیلی توجه را جلب می‌کند این است که OpenAI می‌گوید کد تریتون در اکثر موارد با کدی که توسط یک متخصص CUDA نوشته شده برابری می‌کند؛ با استفاده از تریتون در کمتر از ۲۵ خط کد می‌توان کد ضرب ماتریسی FP16 را طوری نوشت که کارایی یکسانی با cuBLAS -کتابخانه جبر خطی CUDA- داشته باشد (کاری که اکثر برنامه‌نویسان GPU قادر به انجامش نیستند).البته تریتون یک پروژه بسیار جوان است و بخش‌های زیادی از آن کامل نشده است. Triton در حال حاضر فقط برای لینوکس در دسترس است و مستندات آن هم هنوز خیلی کم است. این زبان برنامه‌نویسی با پردازنده‌های NVIDIA کاملا سازگار است اما پشتیبانی از CPU و پردازنده‌های شرکت AMD همچنان در مراحل ابتدایی است.منابع:OpenAIInfoworldGithub</description>
                <category>داود درستکار</category>
                <author>داود درستکار</author>
                <pubDate>Mon, 16 Aug 2021 13:18:28 +0430</pubDate>
            </item>
                    <item>
                <title>آینده پردازش صدا؛ خلبان مجازی؟ interstellar؟</title>
                <link>https://virgool.io/@davood_dorostkar/sound-processing-artificial-assistant-i9tdbs3inzmn</link>
                <description>پروژه VOICI (پروژه خلبان تعاملی صوتی) که یک پروژه در زمینه پردازش صدا بوده و تحت حمایت اتحادیه اروپا است در آخرین تلاش خود، یک سیستم کنترل صوتی که با پردازش صدا کار می‌کند را اثبات مفهومی (proof of concept) کرده است. اگر با دستیاران مجازی آشنایی داشته باشید، این سیستم چیزی شبیه به الکسای آمازون (Alexa)، سیری اپل (Siri) یا دستیار گوگل (Google Assistant) است؛ با این تفاوت که برای خلبانان هواپیماها طراحی شده، مفاهیم هوانوردی را می‌شناسد و قادر است بعضی از مسئولیت‌های خدمه را برعهده گرفته و به آنها کمک کند.دستیار صوتی خلبان چیستچیزی که باعث ایجاد چنین سیستمی شده است این فرضیه است که اگر مسئولیت‌ها و کارهای خدمه و تیم خلبانی کمتر شود، به خصوص در شرایط سخت و استرس‌زا، می‌تواند باعث بهبود عملکرد و کارایی آنها شود. این سیستم هوش مصنوعی می‌تواند بسیاری از کارهای تکراری را که در عین سادگی نیاز به تمرکز بالایی دارد بر عهده بگیرد و فشار کاری خدمه را کمتر کند. برای این کار روش پردازش صدا و فرمان صوتی انتخاب شده است، چیزی که افراد با آن احساس راحتی کرده و در عین حال می‌تواند عملکرد یکسانی در تمام شرایط داشته باشد.نحوه عملکرد سیستم پردازش صداسیستم VOICI توانایی تشخیص و ضبط گفتار، درک و ترکیب آنها را دارد. در واقع، این سیستم می‌تواند مکالمه بین خلبانان و برج مراقبت و نیز بین یکدیگر را درک کرده و متوجه می‌شود که چه زمانی در حال صحبت با او بوده و چه عملی را باید انجام دهد یا چه واکنشی به صحبت‌ها نشان دهد. همان طور که می‌توانید انتظار داشته باشید، کابین خلبان محل مناسبی برای چنین سیستم پردازش صدایی نیست؛ کابین خلبان پر از نویزهای ناشی از موتورهای هواپیما و ارتعاشات شدید بدنه آن است. همچنین به دلیل اینکه از این سیستم انتظار می‌رود تا داده‌ها را پردازش کرده و واکنش لحظه‌ای نشان دهد، باید دارای بالاترین استانداردهای قابلیت اعتماد باشد. با وجود چند صد سرنشین هواپیما، جای هیچ گونه خطایی وجود نخواهد داشت.برای برطرف کردن این مشکلات، VOICI از یک کابین مدل نمونه که با دقت زیادی مشابه کابین Dassult Falcon 2000 است استفاده کرده و سپس یک فایل صوتی که حاوی صدای ضبط شده واقعی درون کابین هواپیما بود را در آن پخش کردند. برای دریافت ورودی‌های صوتی سیستم پردازش صدا، هم از هدست خلبان و هم از یک آرایه میکروفون که در کابین نصب شده‌اند استفاده شده است. این آرایه از تکنیک beamforming که روشی برای ارسال و دریافت امواج در جهات خاص است استفاده می‌کند.هر دوی این ورودی‌ها به سیستم مورد نظر وارد می‌شوند. سپس تمام صوت دریافت شده، وارد یک سیستم پردازشی شده که بعدا باید در مجموعه الکترونیکی هواپیما جاسازی شود. مدل هوش مصنوعی ادراک زبان (Language Model) سیستمِ طراحی شده، در شرایط شبیه‌سازی شده کروز هواپیما (Cruise) تنها ۵ درصد خطا در تشخیص کلمات داشت. این سیستم عملکرد خوبی در تطبیق با ادبیات هوانوردی و نیز سر و صدای موجود در هواپیما از خود نشان داد.پیشرفت ایده‌هایی مثل دستیار صوتی هواپیما انسان را به یاد فیلم‌های علمی-تخیلی مثل interstellar یا ادیسه فضایی می‌اندازد که خلبان‌ها یا سرنشین‌ها با کامپیوترها صحبت می‌کنند و به آنها فرمان می‌دهند. به نظر می‌رسد تا رسیدن به بسیاری از ایده‌های چنین فیلم‌هایی فاصله چندانی نداشته باشیم.</description>
                <category>داود درستکار</category>
                <author>داود درستکار</author>
                <pubDate>Tue, 05 Jan 2021 12:53:10 +0330</pubDate>
            </item>
                    <item>
                <title>طراحی شماتیک برد الکترونیکی</title>
                <link>https://virgool.io/@davood_dorostkar/electronic-board-schematic-design-x8ketiin0fr6</link>
                <description>یکی از اولین مهارت‌هایی که یک مهندس الکترونیک به آن نیاز دارد، طراحی و ساخت برد الکترونیکی است. مهارت در این موضوع تا حد زیادی بستگی به مقدار تجربه و انجام پروژه‌های مختلف دارد. به عنوان یک مهندس الکترونیک یا مکاترونیک پس از اینکه مبانی اولیه علمی لازم را فراگرفتید، باید دست به کار شده و دانش‌تان را در یک چیز عملی پیاده‌سازی کنید. این بهترین راه برای درک واقعی موضوعات علمی است.خیلی از افراد این کار را با بردهای الکترونیکی آماده مثل آردوینو (Arduino) یا رزبری پای (Raspberry Pie) شروع می‌کنند؛ این کار برای کسانی که تخصص‌شان الکترونیک نیست خیلی هوشمندانه است؛ اما اگر شما یک مهندس الکترونیک هستید، توانایی انجام کارهای خیلی بزرگتری با استفاده از ساخت بردهای طراحی خودتان را دارید.طراحی برد الکترونیکی دو بخش اصلی دارد: طراحی شماتیک (که شامل مدارهای موجود در برد به صورت نمادین هست- شکل سمت چپ) و طراحی PCB (که اتصالات و محل قرارگیری هر قطعه بر روی برد را دقیقا نشان می‌دهد- شکل سمت راست)برای طراحی برد ابتدا شماتیک طراحی شده و سپس PCB از روی آن طراحی و ساخته می‌شود. در آموزش طراحی برد الکترونیکی نحوه طراحی شماتیک و نکات مربوط به آن را توضیح داده‌ام و در اینجا به صورت خلاصه به این موضوع اشاره می‌کنم.نرم‌افزارهای طراحی شماتیکنرم‌افزارهای زیادی برای این کار وجود دارند ولی معروفترین آنها Altium Designer، Eagle و EasyEDA هستند. همین نرم‌افزارها برای طراحی PCB هم استفاده می‌شوند.برای اینکه کار طراحی ساده‌تر و سریع‌تر شود، بهتر است از کتابخانه‌ها (Library) قطعات استفاده کنید. اکثر تولیدکنندگان قطعات الکترونیکی، فایل کاملی از قطعات‌شان ارائه می‌کنند که قابلیت وارد کردن به نرم‌افزار را دارد. بجز این، سایت‌های خوبی مثل snapeda و ultralibrarian هم هستند که می‌توانید خیلی از قطعات را در آنها پیدا کنید. اگر کتابخانه‌ها نبودند، باید شماتیک و PCB قطعه را خودتان طراحی کنید. این کار زمان‌بر (و البته جذاب) است. اگر این کار را کردید توصیه می‌کنم، فایل آن را در اینترنت قرار دهید تا دیگران هم استفاده کنند.گام‌های طراحی شماتیکخوب است که طراحی شماتیک برد الکترونیکی را به قدم‌های کوچکتر تقسیم کنیم:قدم اول: یک فایل پروژه در نرم‌افزار بسازید و یک فایل شماتیک جدید در آن اضافه کنیدقدم دوم: قطعات اصلی که در بردتان استفاده خواهد شد را از کتابخانه‌ها وارد طرح کنیدقدم سوم: سایر قطعات مورد نیاز برای اینکه قطعات اصلی کار کنند (مثل خازن‌ها و مقاومت‌ها) را اضافه کنیدقدم چهارم: منبع تغذیه را به مدار اضافه کنید. محل‌های اتصال مهم را نامگذاری (Label) کنید تا از کشیدن خطوط زیادی جلوگیری شودقدم پنجم: اتصالات قطعات را انجام دهیددر نهایت شماتیک شما چیزی مثل تصویر زیر خواهد شد (البته این یک مدار خیلی ساده است) که در نرم‌افزار آلتیوم طراحی شده است. نکات طراحی برد خیلی زیاد است و تنها راه کسب مهارت در آن، تمرین و مطالعه دائمی است. این مطلب صرفا جهت آشنایی اولیه بود و راجع به شماتیک مطالب خیلی بیشتری وجود دارد. اگر به این موضوع علاقه داشتید می‌توانید مطلب آموزش طراحی شماتیک برد الکترونیکی را مطالعه کنید که کامل شده این مطلب است. خوشحال میشم اگه نظراتتون رو با من در میون بذارین.</description>
                <category>داود درستکار</category>
                <author>داود درستکار</author>
                <pubDate>Wed, 18 Nov 2020 18:03:25 +0330</pubDate>
            </item>
                    <item>
                <title>7 شرکت هوش مصنوعی بزرگ دنیا</title>
                <link>https://virgool.io/@davood_dorostkar/artificial-intelligence-companies-wcd6nexthtus</link>
                <description>مهم‌ترین شرکت هوش مصنوعی در دنیا کدام است؟ در حالی که تا مدتی پیش هوش مصنوعی (artificial intelligence) به عنوان موضوعی جذاب اما دور از دسترس به حساب می‌آمد، امروزه بسیاری از شرکت‌های بزرگ در دنیا از الگوریتم‌های یادگیری ماشین (machine learning) و شبکه عصبی (neural networks) به صورت دائمی در کسب و کارشان استفاده می‌کنند.در حال حاضر میلیون‌ها نفر در سراسر دنیا روزانه در مواردی مثل دستیارهای هوشمند، تشخیص چهره، بازی‌های رایانه‌ای، چت‌ بات ها، نرم افزارهای مکان یابی و غیره از کاربردهای هوش مصنوعی (.A.I) استفاده می‌کنند و تازه این فقط شروع آن است. حدس زدن آینده شرکت های هوش مصنوعی سخت است اما پیش‌بینی می‌شود که این زمینه، سهم بزرگی از بازار را در آینده در اختیار خواهد گرفت. در ادامه تعدادی شرکت هوش مصنوعی که سرمایه‌گذاری زیادی در این زمینه کرده‌اند را معرفی خواهیم کرد:انویدیا (Nvidia)حتی اگر دنبال‌کننده جدی اخبار تکنولوژی هم نباشید احتمالا نام Nvidia را شنیده‌اید. انویدیا یکی از بزرگترین تولیدکنندگان تراشه در دنیاست. شهرت انویدیا به پردازنده‌های گرافیکی (GPU) بر می‌گردد که بخش بزرگی از بازار کارت های گرافیکی را در دنیا به خود اختصاص داده است. در گذشته کارت های گرافیک عمدتا به عنوان سخت افزاری برای تولید خروجی تصویری به خصوص در فیلم های کیفیت بالا و بازی‌های رایانه‌ای محسوب می‌شدند؛ اما انویدیا با یک ابداع بسیار مهم به نام CUDA باعث شد تا کارت های گرافیک به ابزار مهمی در خودروهای خودران، پردازش ابری و حوزه‌های بسیار زیادی که با یادگیری ماشین کار می‌کنند تبدیل شود.CUDA فناوری منحصر به انویدیا است که بر اساس آن، کارت گرافیکی متشکل از تعداد بسیار زیادی (در حال حاضر در حد چند هزار) هسته است که می‌توانند به صورت موازی با هم کار کنند؛ در مقایسه با پردازشگرهای مرکزی (CPU) که حداکثر چند ده هسته دارند. این ویژگی انویدیا را به عنوان یک شرکت هوش مصنوعی بسیار مهم معرفی کرده است.آلفابت (گوگل)آلفابت (Alphabet) شرکت مادر گوگل سرمایه‌گذاری زیادی در زمینه هوش مصنوعی کرده است. گوگل در بسیاری از  ابزارهای تحلیلی خود مثل مسیریابی نقشه، پردازش تصویر، قیمت‌گذاری تبلیغات، دستیار هوشمند و از همه مهمتر نتایج جستجو و رتبه‌بندی وبسایت‌ها از روش‌های ماشین لرنینگ و هوش مصنوعی استفاده می‌کند. بخش زیادی از سرمایه 1 تریلیون دلاری گوگل صرف پشتیبانی، به روزرسانی و بهبود همین سرویس‌ها و روش‌ها می‌شود؛ همان چیزی که باعث شده است تا نتایج جستجوی گوگل بسیار هوشمندانه‌تر از گذشته باشد.گوگل با داشتن امکانات ، هزینه، تخصص و تجربه کافی یکی از مهمترین شرکت های هوش مصنوعی در دنیا است. بخصوص اینکه گوگل تاکنون صرفا استفاده کننده نبوده و خودش نقش بسیار مهمی در توسعه و پیشرفت روش‌های هوش مصنوعی داشته است.آمازونآمازون (Amazon) بزرگترین فروشگاه اینترنتی دنیاست. رشد سرمایه و همه‌گیری آمازون در کشورهای مختلف از ابتدا تاکنون باورنکردنی بوده است. به خصوص در چند سال اخیر که ارزش سهام آن سرعت بیشتری نیز گرفته است. ارزش هر سهم آمازون در حال حاضر بیش از 3000 دلار است؛ چیزی که بسیاری از شرکت‌های بزرگ دیگر خوابش را هم نمی‌بینند.هیچ کدام از این پیشرفت‌ها برای آمازون متصور نبود اگر متدهای هوش مصنوعی را در کار خود استفاده نمی‌کرد. مهمترین بخش آمازون که با هوش مصنوعی درگیر است، مثل گوگل، ارائه نتایج جستجوی مناسب و بهینه برای کاربران است. آمازون از هوش مصنوعی و ماشین لرنینگ علاوه بر بهینه‌سازی جستجو، در پیش‌بینی آینده بازار، بهینه‌سازی انبارداری و زنجیره تامین و بهبود ابزار رتبه‌دهی وبسایت‌ها، یعنی الکسا (Alexa) که بخشی از آمازون است نیز استفاده می‌کند. همه این موارد آمازون را به یکی از بزرگترین شرکت های هوش مصنوعی در دنیا با بیش از 1.5 تریلیون دلار ارزش سهام تبدیل کرده است.تعداد زیاد کارکنان با تخصص یادگیری ماشین و AI که در هر سال توسط آمازون استخدام می‌شوند نیز گویای این است که این شرکت برنامه بلندمدت و ویژه‌ای برای آینده هوش مصنوعی دارد.مایکروسافتبدون شک مایکروسافت (Microsoft) یکی از بزرگترین شرکت‌های دنیاست. مایکروسافت بجز استفاده محدودی که در ویندوز 10 از هوش مصنوعی کرده است، تاکنون تمرکز زیادی در این زمینه نداشته است. اما چیزی که باعث می‌شود تا مایکروسافت را نیز بتوان یک شرکت هوش مصنوعی دانست، یکی Azure و دیگری OpenAI است.&quot;مایکروسافت Azure&quot; بستر ابری (Cloud) مایکروسافت است که از آن برای پردازش ابری و خدمات ماشین لرنینگ استفاده می‌کند. OpenAI هم شرکتی است که در سال 2015 تاسیس شد و هدف آن ایجاد هوش مصنوعی عمومی (Artificial General Intelligence) است؛ هوش مصنوعی که بتواند دقیقا مانند هوش بشری عمل کند. در سال 2019 مایکروسافت با پرداخت 1 میلیارد دلار به OpenAI به بزرگترین سهامدار آن تبدیل شد و در صورتی که این پروژه به سرانجام برسد، مایکروسافت مهمترین بازیگر این حوزه خواهد شد.آی بی ام (IBM)شرکت IBM از ابتدا تاکنون همواره در زمینه‌های مختلف پیشرو بوده است: از ساخت تراشه در مقیاس نانومتری تا ساخت سوپرکامپیوتر و همینطور هوش مصنوعی! از زمانی که کامپیوتر مجهز به هوش مصنوعی IBM به نام Deep Blue در سال 1997 توانست شطرنج‌باز معروف دنیا، گری کاسپاروف را شکست دهد، IBM به عنوان یک شرکت هوش مصنوعی برای همه شناخته شد.پس از آن، کامپیوتر Watson متعلق به شرکت IBM نیز در سال 2011 در یک بازی تلویزیونی در مقابل یک تیم حرفه‌ای پیروز شد. IBM از هوش مصنوعی به طور ویژه‌ای در زمینه‌های اقتصادی و کسب و کار استفاده می‌کند؛ از دستیاران هوشمند برای تحلیل‌های اقتصادی و ابزارهای هوش مصنوعی برای جلوگیری از جرائم مالی تا تحلیلگرهای سلامت جسمی.فیسبوک (Facebook)شاید بی‌راه نباشد اگر بگوییم فیسبوک خود را وقف هوش مصنوعی کرده است. از سال 2018 که فیسبوک، جرومی پسنتی (Jerome Pesenti) -متخصص معروف هوش مصنوعی که قبلا بر روی کامپیوتر Watson متعلق به IBM کار کرده بود- را به خدمت گرفت، تمرکز خاصی بر روی تیم هوشمندی خود داشته است. طراحی الگوریتم‌های هوش مصنوعی که بتواند مواردی مثل اخبار جعلی یا مطالب نامناسب را تشخیص دهد، محوریت کار هوش مصنوعی در شرکت فیسبوک است.در حال حاضر شرکت فیسبوک علاوه بر شبکه اجتماعی فیسبوک، مالکیت واتسپ (WhatsApp)، مسنجر (Messenger) و اینستاگرام (Instagram) را نیز در اختیار دارد. فیسبوک در این نرم‌افزارها در سال 2020 میلادی مجموعا حدود 3 میلیارد کاربر داشته است. این تعداد کاربر فرصت استثنایی برای تست و پیاده‌سازی روش‌های ماشین لرنینگ در اختیار فیسبوک گذاشته است که قابل مقایسه با هیچ شرکت هوش مصنوعی دیگری نیست. اخیرا فیسبوک اعلام کرده است که از روش‌های هوش مصنوعی برای جلوگیری از انتشار ویدئوهای deepfake در پلتفرم خود استفاده کرده است.وی چت (Tencent)چینی‌ها نیز در کنار سایرین در حال کار بر روی هوش مصنوعی هستند. شرکت Tencent مالک نرم‌افزار WeChat یک شرکت هوش مصنوعی بزرگ در چین است. هرچند که این نرم‌افزار در سایر کشورها چندان مورد توجه نیست اما در چین به تنهایی بیش از 1 میلیارد کاربر روزانه دارد. این تعداد کاربر امکان بسیار خوبی برای تست و بهبود الگوریتم‌ها را برای WeChat فراهم کرده است.چینی‌ها تقریبا برای هر کاری از WeChat استفاده می‌کنند: شبکه اجتماعی، پیام رسانی، پرداخت آنلاین، ایمیل و غیره. ارزش سهام Tencent در حال حاضر بیش از 600 میلیارد دلار است.نظر شما در مورد شرکت هایی که از هوش مصنوعی در کارشان استفاده می‌کنند چیست؟ نظراتتان را با ما در میان بگذارید.</description>
                <category>داود درستکار</category>
                <author>داود درستکار</author>
                <pubDate>Mon, 31 Aug 2020 17:57:14 +0430</pubDate>
            </item>
                    <item>
                <title>انویدیا گوی سبقت را برای اولین بار از اینتل ربود!</title>
                <link>https://virgool.io/@davood_dorostkar/nvidia-beats-intel-uvvqbmo5dmeg</link>
                <description>ارزش کل سهام شرکت انویدیا (Nvidia) برای اولین بار در تاریخ از بزرگترین سازنده CPU در جهان یعنی اینتل (Intel) پیشی گرفت. در روزهای اخیر ارزش سهام انویدیا به 248 میلیارد دلار و اندکی بیش از 246 میلیارد دلار اینتل رسید. این اتفاق انویدیا را به اولین تولیدکننده تراشه در آمریکا و سومین تولیدکننده تراشه جهان تبدیل می‌کند که برای شرکتی مثل Nvidia که خودش سازنده تراشه نیست، رتبه بسیار بالایی است.بر خلاف Intel ، انویدیا تنها تراشه‌های خود را طراحی کرده و ساخت آن را برون‌سپاری می‌کند. برای ساخت تراشه‌ها، Nvidia عمدتا از شرکت تایوانی TSMC استفاده می‌کند که خود دومین شرکت سازنده تراشه در دنیا بعد از سامسونگ است. در عوض اینتل تمام پردازنده‌هایش را در کارخانه خود می‌سازد که البته مزایا و معایب خاص خودش را دارد.دلایل زیادی برای این تغییر ذکر شده است. شاید بتوان مهمترین آن را رشد چشمگیر حوزه هوش مصنوعی و ماشین لرنینگ دانست که عمدتا برای انجام پردازش‌های خود از هسته‌های کودا (CUDA) پردازنده‌های گرافیکی Nvidia استفاده می‌کنند. دلیل دیگر آن نیز می‌تواند ارائه تراشه‌های با معماری 7 نانومتری Nvidia به نام آمپر باشد که گفته می‌شود به زودی در قالب کارت گرافیکی RTX 3080 رونمایی خواهد شد. در حال حاضر تنها شرکتی که توانایی ساخت تراشه با فناوری 10 نانومتر و کمتر را در اختیار دارد، اینتل است.البته ناگفته نماند که ارزش سهام یک روی سکه است که روی دیگر آن، میزان درآمد شرکت است. در زمینه درآمد، اینتل همچنان بالاتر از انویدیا قرار دارد. طبق گزارش رویترز تحلیل‌گران پیش‌بینی کرده‌اند که درآمد Nvidia در سال جاری با 34% رشد به 14.6 میلیارد دلار برسد در حالی که درآمد اینتل با 2.5% درصد رشد به 73 میلیارد دلار خواهد رسید.این تفاوت درآمد تا حدی طبیعی است؛ چرا که هر کامپیوتری نیاز به CPU دارد درحالی که در بسیاری از موارد وجود GPU اختیاری است. با این وجود رشد درآمد انویدیا در ماه‌های گذشته 68% درصد بوده است که در مقایسه با رشد 3% اینتل نشان می‌دهد که صنعت GPU به شدت در حال پیشرفت است. بسیاری از تحلیل‌گران این رشد بی‌سابقه را تحت تاثیر همه‌گیری ویروس کرونا (کووید-19) دانسته‌اند که باعث شده تا نیاز به دیتاسنترها در جهان افزایش یابد که این موضوع به نفع انویدیا است.رشد سریع انویدیا از طرف دیگر برای شرکت TSMC (که سازنده تراشه‌های انویدیا است) نیز خبر خوبی است. شرکتی که فعلا در حال چالش با دولت آمریکا برای همکاری با شرکت هواوی است. بعید نیست که همین رشد شرکت انویدیا TSMC را به فکر ساختن کارخانه‌ای جدید در آریزونای آمریکا انداخته باشد.</description>
                <category>داود درستکار</category>
                <author>داود درستکار</author>
                <pubDate>Mon, 17 Aug 2020 16:52:54 +0430</pubDate>
            </item>
                    <item>
                <title>FPGA چیست؟ معرفی و آشنایی اولیه</title>
                <link>https://virgool.io/@davood_dorostkar/fpga-introduction-zdawflmwbs2a</link>
                <description>اگر کمی با ابزارهای الکترونیکی و میکروکنترلرها کار کرده باشید، شاید برای شما هم پیش آمده باشد که بخواهید تعداد زیادی عملیات را به طور همزمان انجام دهید. مثل من که برای اولین بار می‌خواستم داده‌های تعداد زیادی سنسور متصل به یک ربات را به طور همزمان بخوانم و پردازش کنم. حتما می‌دانید که همزمانی در میکروکنترلر معنی ندارد و در واقع همه کارها پشت سر هم انجام می‌شود. در نتیجه اتفاقی که واقعا می‌افتاد این بود که تمام سنسورهای من باید منتظر می‌ماندند تا داده‌های قبلی پردازش شود. برای کارهای کوچک شاید این مسئله زیاد به چشم نیاید اما وقتی حجم اطلاعات بیشتر شود به یک مسئله جدی تبدیل می‌شود. بعد از این موضوع بود که متوجه شدم چیزی که من به آن نیاز داشتم یک برد FPGA بوده است.اگر طراحی برد الکترونیکی برایتان جذابیت دارد، FPGA یکی از موضوعاتی است که باید در مورد آن بدانید. در این مطلب در مورد موارد زیر صحبت خواهیم کرد:FPGA چیست؟کاربردهای FPGA چیست؟FPGA چه مزایا و معایبی دارد؟برنامه نویسی FPGAFPGA چطور کار می‌کند؟FPGA چیست؟FPGA یا field programmable gate array تراشه‌های نیمه‌رسانایی هستند که از تعداد زیادی جزء کوچک الکترونیکی به نام بلوک منطقی (Logic Block) یا سلول منطقی (Logic cell) ساخته شده‌اند. از نظر من FPGA چیزی بین یک مدار الکترونیکی و یک میکروکنترلر است. همان طور که از نام آن برمی‌آید FPGA یک تراشه قابل برنامه‌ریزی است.کوچکترین جزء سازنده میکروکنترلرها و همین طور پردازنده‌ها (CPU) المان‌های الکترونیکی به نام گیت‌منطقی (Logic gate) است. این گیت ها ساده‌ترین اعمال منطقی مانند AND و OR را انجام می‌دهند. از همین المان‌ها برای انجام اعمال ساده ریاضی مثل جمع و ضرب استفاده می‌شود و در نهایت مجموعه بزرگی از این گیت ها یک فرایند پیچیده را تشکیل می‌دهند. ساختار داخلی CPU ها و میکروکنترلرها در کارخانه سازنده به طور کامل طراحی شده و تمام گیت‌ها به نحو خاصی و طبق معماری مشخصی ساخته شده و قابل تغییر نیستند.اصلی‌ترین تمایز FPGA با موارد قبل این است که در این حالت، تراشه یک ساختار خام دارد و شما می‌توانید ساختار و معماری و نحوه ارتباطات بین گیت‌های منطقی را خودتان تعریف کنید. نتیجه این تمایز این می‌شود که FPGA یک برد از پیش آماده نیست، بلکه با انتخاب و طراحی کاربر، می‌تواند مثل یک مدار الکترونیکی ساده یا یک واحد پردازش سیگنال و یا حتی مثل یک CPU عمل کند. از طرفی FPGA قابلیت برنامه‌ریزی مجدد را نیز دارد که دست طراح را برای انجام تغییرات باز می‌گذارد.مزایا و معایب FPGAبردهای FPGA توانایی انجام کارهایی را دارند که انجام آنها با ابزارهای دیگر بسیار مشکل یا غیرممکن است؛ اما در عین حال مثل هر چیز دیگری بدون عیب هم نیست.مزایا:سرعت بالامهمترین عاملی که باعث می‌شود افراد به سراغ برد FPGA بروند سرعت بسیار بالای آن است که به هیچ وجه با یک میکروکنترلر قابل مقایسه نیست. علت سرعت بالای FPGA این است که اعمال مورد نظر مستقیما از طریق المان‌های الکترونیکی انجام شده و پردازش به مفهومی که در CPU تعریف می‌شود، وجود ندارد. انجام یک پردازش در CPU یا میکروکنترلر نیازمند زمان است که فرایند را کند می‌کند؛ در حالی که در FPGA عملیات‌ها تقریبا به صورت بلادرنگ انجام می‌شوند (مثلا در حد چند نانوثانیه).پردازش موازیبردهای FPGA معمولا تعداد بسیار زیادی پایه دارند. این باعث می‌شود تا بتوانید تعداد زیادی ورودی به آن داده و برای هر کدام از آنها عملیات مورد نظرتان را به طور مستقل انجام دهید. بنابراین هیچ ورودی برای پردازش منتظر سایر اعمال نمی‌ماند و همه به طور همزمان انجام می‌شوند. این مورد برای کارهایی مثل پردازش تعداد زیادی سنسور، مزیت خیلی بزرگی به حساب می‌آید.انعطاف‌پذیریاینکه FPGA دقیقا چه کاری انجام دهد کاملا به طراح بستگی دارد. از این نظر FPGA به هیچ کدام از بردهای الکترونیکی دیگر شباهت ندارد. تفاوت FPGA با تراشه‌ها و بردهای از پیش آماده مثل CPU مثل تفاوت مداری است که روی بردبورد می‌بندید با یک برد مدار چاپی الکترونیکی (PCB). طبیعتا مورد اول را می‌توانید به هر صورتی که میخواهید تغییر دهید.هزینه و زمان توسعه محصولاگر بخواهید یک برد الکترونیکی معمولی به منظور خاصی بسازید، پس از ساخت برد ممکن است ایرادی در طراحی آن وجود داشته باشد. در این صورت مجبورید طرح را اصلاح کرده و مجددا برد جدید را بسازید. این کار زمان و هزینه زیادی را از شما تلف می‌کند. در صورتی که ایجاد تغییرات در FPGA بدون تغییر سخت‌افزار و با همان برد قابل انجام است.معایب:تک‌منظوره بودنCPU ها تراشه‌های چندمنظوره (General Purpose) هستند. بنابراین سیستم‌عامل می‌تواند به نحوه‌ای که ترجیح می‌دهد آن را کنترل کند و برنامه‌های مختلف می‌توانند به گونه‌ای که نیاز دارند از آن استفاده کنند. کاری که CPU انجام می‌دهد در زمان‌های مختلف متفاوت است و حتی فرکانس کاری (که سرعت آن را تعیین می‌کند) و میزان استفاده از آن (Utilization) همواره در حال تغییر است. در سوی مقابل FPGA همیشه یک عمل ثابت را انجام می‌دهد و در صورتی که بخواهید عملکرد آن را تغییر دهید باید طراحی گیت‌های آن اصلاح شود. تک‌منظوره بودن الزاما نقطه ضعف نیست بلکه در بعضی شرایط نقطه قوت محسوب می‌شود. از این نظر FPGA شبیه به تراشه‌های ASIC است.ASIC نوعی پردازنده نیمه‌هادی است که برای کاربرد خاصی ساخته می‌شود. ASIC مثل FPGA تک‌منظوره است با این تفاوت که پس از ساخت، دیگر قابل تغییر نیست و همیشه فقط همان عملکرد را دارد.طراحی پیچیده و زمان‌برطراحی FPGA معمولا با استفاده از یکی از زبان‌های VHDL یا Verilog انجام می‌شود. این زبان‌ها با زبان‌های برنامه‌نویسی متداول تفاوت داشته و معمولا درک آن سخت‌تر است. به این زبان‌ها، زبان‌های توصیف سخت‌افزار (Hardware Description Language) می‌گویند. به دلیل پیچیدگی این زبان‌ها، معمولا طراحی یک برد FPGA حتی برای یک عملکرد ساده مشکل است.قیمت زیادبردهای FPGA تنوع زیادی دارند اما به طور معمول قیمت خیلی بیشتری نسبت به انواع میکروکنترلرها دارند. برای مثال قیمت برد توسعه spartan-6 که از نوع FPGA و ساخت شرکت Xilinx است نسبت به برد توسعه Discovery STM32 بیش از 16 برابر است. بنابراین فقط در صورتی که حتما به FPGA نیاز دارید از آن استفاده کنید.کاربردهای FPGAبردهای FPGA تقریبا در هر کاربردی که نیاز به پردازش وجود داشته باشد می‌توانند استفاده شوند. تنها باید دید که با توجه به مزایا و معایب، آیا استفاده از FPGA معقول و به صرفه است یا نه.یکی از مواردی که FPGA استفاده می‌شود ساخت نمونه اولیه از یک مدار است که بعدا قرار است ساخته شود. FPGA امکان سعی و خطا در طراحی را به سازنده محصول می‌دهد. بجز این، هر جا که نیاز به پردازش‌های همزمان و زیاد باشد، این روش استفاده شده است. مخصوصا در صنایع پیشرفته، دستگاه‌های الکترونیکی و ماشین‌آلات بزرگ، FPGA بسیار کاربردی است. صنایع هوا و فضا، مخابرات، صنعت خودرو، دوربین‌های دیجیتال، ابررایانه‌ها، کاربردهای پردازش تصویر، دستگاه‌های تصویربرداری پزشکی و رباتیک بخشی از مواردی است که FPGA به صورت گسترده استفاده می‌شود.شرکت های سازنده FPGAدر حال حاضر ساخت بردهای FPGA عمدتا محدود به چند شرکت بزرگ است. مهمترین آنها شرکت Xilinx است که سال‌هاست سردمدار بردهای FPGA در دنیاست. رقیب Xilinx شرکت Altera است که بعدا توسط غول پردازنده‌های دنیا یعنی Intel خریداری شد. حدود 90 درصد کل بازار FPGA در اختیار این شرکت است. شرکت بزرگ Microchip نیز که تولیدکننده میکروکنترلر و انواع IC است، در این حوزه مطرح است اما هنوز بازار زیادی را در اختیار نگرفته است.معرفی چند نمونه کاربردیتنوع زیادی از بردهای FPGA وجود دارند که در اینجا چند نمونه مختلف آنها را معرفی می‌کنیم:Perf-VPerf-V یک برد نسبتا کوچک برای کسانی است که قصد دارند کار با FPGA را شروع کنند. این برد حدود 33 هزار واحد منطقی و 1800 کیلوبایت حافظه رم دارد. این برد توسط تیم‌های opensource طراحی و توسعه داده شده است.Spartan Edge Acceleratorاین برد برای کسانی که کارهای DIY انجام می‌دهند و با آردوینو آشنایی دارند خیلی جذاب است. ظاهر برد شباهت زیادی به آردوینو Uno دارد. در واقع این دو برد هم‌اندازه‌اند. برد Spartan Edge طوری طراحی شده است تا بتوان آن را هم به عنوان یک شیلد برای آردوینو Uno استفاده کرد و هم به عنوان یک برد مجزا.شیلدها بردهای ثانویه‌ای هستند که بر روی برد اصلی نصب شده و یک قابلیت خاص را به آن اضافه می‌کنند.این برد امکانات زیادی را بر روی خود دارد؛ برای مثال تراشه ESP32 که قابلیت اتصال وایفای 2.4GHz و بلوتوث را ایجاد می‌کند، یک ورودی آنالوگ به دیجیتال، یک درگاه مینی HDMI، شتاب‌سنج 6 محوره و درگاه اتصال به دوربین.Tiny FPGA A1برد A1 تعداد خیلی کمی واحد منطقی (256 تا) و 2 کیلوبایت حافظه رم دارد. طبیعتا کار پردازشی سنگینی با این برد نمی‌توانید انجام دهید اما برای آموزش یا برای تعداد کم داده موازی (حداکثر 18 ورودی/خروجی) انتخاب خوبی است. این برد جزء ارزان‌ترین بردهای FPGA است.Alveo U280این برد یک غول پردازشی ساخت شرکت Xilinx است. Alveo بیش از 1 میلیون واحد منطقی، 8 گیگابایت حافظه سریع HBM2 و 32 گیگابایت حافظه رم در خود دارد. این برد به طور خاص برای کاربردهایی که نیاز به پردازش‌های سنگین موازی دارند مانند روش‌های یادگیری ماشین، طراحی شده است. طبیعتا مصرف برق این برد و قیمت آن نیز به طور قابل توجهی بالاست: 225 وات مصرف انرژی و بیش از 7500 دلار قیمت! این برد دارای درگاه PCI-E نسل چهارم است و از این طریق به کامپیوتر قابل اتصال است.برنامه نویسی FPGAدو زبان عمده برای توصیف سخت افزار FPGA وجود دارد: VHDL و VHDL .Verilog زبانی است که توسط وزارت دفاع آمریکا توسعه پیدا کرده است. زبان Verilog نیز توسط موسسه مهندسان برق و الکترونیک (IEEE) استاندارد شده است. معمولا از همین دو زبان برای طراحی FPGA استفاده می‌شود. زبان‌های توصیف سخت افزار تفاوت‌های اساسی با سایر زبان‌های برنامه نویسی دارند. تفاوت عمده این نوع زبان این است که می‌توانند تاخیر انتشار (propagation delay) و قدرت سیگنال (signal strength) را نیز تعریف کنند. این تفاوت‌ها هنگام نوشتن کد باید در نظر گرفته شوند.با اینکه زبان Verilog و VHDL شباهت زیادی دارند اما Verilog بیشتر برای طراحی تراشه و VHDL بیشتر برای کار با FPGA استفاده می‌شوند هرچند که هر دو برای هر دو کار قابل استفاده هستند.FPGA چطور کار می کند؟اگر بخواهیم برای کسی که چیزی در مورد FPGA نمی‌داند کارکرد آن را توضیح دهیم باید بگوییم که این برد مجموعه‌ای از گیت‌های منطقی است که به نحو خاصی که ما تعیین می‌کنیم با هم کار می‌کنند. این تعریف مقدار زیادی ساده شده است. توضیح دقیق‌تر این است که در FPGA می‌توان سه عنصر تشکیل دهنده در نظر گرفت: جدول صحت یا Look Up Table (LUT)، فلیپ فلاپ (Flip Flop) و Routing Matrix.Look Up Tableجدول صحت، تعیین می‌کند که عملکرد هر جزء FPGA چطور باشد. هر LUT تعدادی ورودی و یک خروجی دارد. ارتباط ورودی‌ها و خروجی‌ LUT هر چیزی می‌تواند باشد. درون هر LUT یک حافظه وجود دارد که ارتباط ورودی و خروجی آن را ذخیره می‌کند. تعداد ورودی‌های LUT را با عددی که بعد از آن می‌آید مشخص می‌کنند. مثلا یک LUT6، یک جدول صحت با 6 ورودی و یک خروجی است. یک LUT با دو ورودی می‌تواند به صورت شکل زیر باشد.از آنجایی که مقدار داخل حافظه LUT می‌تواند هر چیزی باشد، با یک LUT دو ورودی می‌توان هر گیت منطقی را ایجاد کرد. برای مثال می‌توان یک گیت AND را با مقادیر حافظه زیر ایجاد کرد:از آنجایی که خروجی LUT می‌تواند هرچیزی باشد، می‌تواند حالت‌هایی غیر از گیت‌های منطقی را ایجاد کند که اگر می‌خواستیم آن را با استفاده از گیت‌های استاندارد بسازیم، به بیش از یک گیت نیاز داشتیم. بنابراین مفهوم LUT چیزی فراتر از گیت‌های منطقی است. به همین دلیل سنجش FPGA با تعداد گیت‌ منطقی روش درستی نیست و معمولا تعداد LUT مدنظر قرار می‌گیرد.Flip Flopخروجی هر LUT را می‌توان به یک فلیپ فلاپ وصل کرد. برای ساختن واحدهای محاسباتی مثل جمع کننده یا ضرب کننده این کار الزامی است. مجموعه‌ای متشکل از چند LUT و فلیپ فلاپ یک اسلایس (Slice) را تشکیل می‌دهند. برای مثال در spartan 6 که یک FPGA معمولی و پراستفاده است، هر اسلایس از 4 LUT6 و 8 فلیپ فلاپ تشکیل شده است. در این برد، 1430 اسلایس و 5720 LUT وجود دارد.Routing Matrixنکته مهمی که همچنان باقی می‌ماند این است که صرف تعیین عملکرد هر اسلایس در FPGA برای کار کردن آن کافی نیست. بلکه باید ارتباط آنها با یکدیگر نیز مشخص شود. در FPGA هر دو اسلایس در یک واحد دیگر به نام CLB یا Complex Logic Block قرار می‌گیرند. هر CLB به یک ماتریس سوئیچ (Switch Matrix) متصل است که وظیفه دارد آن را به سایر نقاط مدار وصل کند. این سوئیچ می‌تواند هر ورودی یا خروجی این واحد را از طریق یک ماتریس روتینگ کلی (General Routing Matrix) به ورودی و خروجی‌های سایر واحدها یا به همدیگر وصل کند. این ماتریس کلی مثل شبکه‌ای تمام برد را به هم مرتبط می‌کند. مثل این است که تعدادی سیم و کلید در اختیار داشته باشید و بخواهید بخش‌های یک مدار را به هم وصل کنید. از این طریق ارتباط کل مجموعه مشخص شده و در واقع تمام FPGA مثل یک مدار الکترونیکی واحد خواهد شد.ماتریس روتینگ FPGA تا حد زیادی پیچیده است اما عنصر سازنده آن سیم و مالتی‌پلکسر است. مالتی‌پلکسر یک واحد الکترونیکی است با تعدادی ورودی و یک خروجی که در هر لحظه یک ورودی خاص آن به خروجی متصل است. از مالتی‌پلکسر برای آدرس‌دهی استفاده می‌شود به همین دلیل برای تعیین ارتباط بین CLB ها در FPGA مناسب است. چگونگی تعریف ماتریس روتینگ باید در یک حافظه RAM ذخیره شود. به این خاطر نیاز به یک میکروکنترلر در داخل FPGA یا به صورت خارجی است که این تعاریف را از RAM خوانده و در FPGA بارگذاری کند. این کار هر بار که برد روشن می‌شود باید انجام شود.کلام آخرمثل هر چیز دیگری، FPGA هم خوبی‌ها و بدی‌های خودش را دارد. FPGA یک روش طراحی و پیاده‌سازی مدارهای منطقی و دیجیتال است که برای ساخت تراشه‌ها، نمونه‌سازی یا برای کاربردهای صنعتی و پیشرفته استفاده می‌شود. استفاده از FPGA پیچیده‌تر و گران‌تر از میکروکنترلر است اما برای کاربردهای همزمان و موازی گزینه بسیار بهتری است. یکی از مسائل مهم در طراحی برد الکترونیکی، FPGA است که اگر قصد انجام کارهای مرتبط با پردازش موازی یا سیستم‌های گسترده (Distributed) را دارید، می‌توانید به این روش فکر کنید.ممنونم که نظرات‌تان را با ما به اشتراک می‌گذارید!</description>
                <category>داود درستکار</category>
                <author>داود درستکار</author>
                <pubDate>Sat, 15 Aug 2020 16:26:04 +0430</pubDate>
            </item>
                    <item>
                <title>9 پردازنده برتر برای هوش مصنوعی</title>
                <link>https://virgool.io/dataio/9-best-processors-for-artificial-intelligence-q4grz1k5v3eg</link>
                <description>الگوریتم های هوش مصنوعی روز به روز در حال پیشرفت و گسترش هستند. اما روی دیگر این سکه رشد و توسعه سخت‌افزار برای هوش مصنوعی است که کمتر از مورد قبل مورد توجه عموم قرار می‌گیرد؛ سخت‌افزارهایی که بتوانند انواع مختلف شبکه‌های عصبی را پیاده‌سازی کنند. این روند با سرعت زیادی رو به رشد است و سازندگان زیادی از شرکت‌های معروف و بزرگ تا استارتاپ‌های نوپا وارد این میدان شده‌اند. هر کدام از سخت‌افزارهای موجود بر روی هدف خاصی مثل افزایش کارایی، کاهش قیمت یا کم‌مصرف بودن تمرکز کرده‌اند. در ادامه به بعضی از مهمترین پردازنده ها برای هوش مصنوعی اشاره می‌کنیم.پردازنده های هوش مصنوعی با کاربرد عمومیمحصول: Movidius Myriad Xسازنده: اینتلشرکت Movidius سازنده پردازنده Myriad X در سال 2016 توسط اینتل خریداری شد. Myriad X نسل سوم واحدهای پردازش تصویر این شرکت و اولین نمونه‌ای است که یک موتور پردازشی اختصاصی برای شبکه عصبی دارد. پردازنده Myriad X توان انجام 1 میلیارد عملیات ریاضی اختصاصی از نوع شبکه عصبی عمیق را دارد. این موتور پردازشی از حافظه واسطه هوشمندی استفاده می‌کند تا محدودیتی از نظر حافظه در حین انجام عملیات پیش نیاید. Myriad X از 16 هسته مستقل از نوع SHAVE بهره می‌برد. این پردازنده در Neural Compute Stick 2 اینتل به کار رفته است.Neural Compute Stick 2 یک کامپیوتر جیبی است که بسیار به یک حافظه USB شباهت دارد اما به تنهایی یک کامپیوتر قدرتمند مخصوص کارهای پردازش تصویر است. این کامپیوتر به سادگی به هر رایانه دیگری وصل شده و برنامه‌های پردازش تصویر و هوش مصنوعی بر روی پردازنده آن انجام می‌شود.محصول: i.MX 8M Plusسازنده: NXPاین پردازنده از یک شتابدهنده شبکه عصبی (Neural Network Accelerator) به نام VeriSilicon در درون خود بهره می‌برد. VeriSilicon یک موتور استنتاج با قدرت 2.3TOPS (2300 میلیارد عملیات در ثانیه) است که از آن می‌توان در کاربردهایی مانند اینترنت اشیای صنعتی (IIoT)، تشخیص گفتار یا عکسبرداری های پیشرفته در حوزه پزشکی (با سرعت 500 تصویر در ثانیه) استفاده کرد. همچنین در کنار این پردازنده، یک پردازنده هشت هسته‌ای Arm Cortex A-53 با سرعت 2GHz و یک پردازنده Cortex M7 برای کارهای بلادرنگ ( Realtime) قرار دارد.برای انجام کاربردهای مرتبط با پردازش تصویر نیز دو پردازشگر تصویر در این مجموعه قرار داده شده است که می‌توانند به دو دوربین یا یک دوربین 12 مگاپیکسل متصل شوند. یک پردازنده 800 مگاهرتزی DSP هم برای کارهای پردازش صدا در i.MX 8M Plus تعبیه شده است. مجموعه موارد بالا باعث شده است تا i.MX 8M Plus یک موتور پردازشی قدرتمند مخصوص کاربردهای هوش مصنوعی به شمار بیاید. هدف اصلی از ساخت i.MX 8M Plus استفاده در اینترنت اشیا بوده است.محصول: xcore.aiسازنده: XMOSشرکت انگلیسی XMOS یک تولیدکننده نسبتا جدید در حوزه ریزپردازنده ها و ماژول های صوتی و پردازش صدا است. پردازنده xcore.ai به منظور استفاده در پردازش صدا در هوش مصنوعی اشیا (AIoT) طراحی و ساخته شده است. این قطعه در دسته Crossover processor قرار می‌گیرد. پردازنده های crossover چیزی بین یک پردازنده مرکزی (CPU) و یک میکروکنترلر هستند. Crossover ها از سرعت پردازشی یک CPU و قابلیت‌های بلادرنگ (Realtime) و مصرف کم برق یک میکروکنترلر بهره می‌برند. xcore.ai به طور خاص امکان یادگیری ماشین سیگنال های صوتی را فراهم کرده‌است.این پردازنده بر اساس معماری Xcore ساخته شده است که در آن تعدادی logical core وجود دارد. این هسته‌ها می‌توانند به منظور ورودی/ خروجی سیگنال، پردازش سیگنال (DSP)، کاربردهای کنترلی و شتابدهنده هوش مصنوعی استفاده شوند. xcore.ai در خود 16 هسته دارد که هر کدام به صورت مجزا قابل تنظیم برای عملیات خاصی هستند. این تنظیم که به صورت نرم افزاری انجام شده و در firmware قرار می‌گیرد، باعث می‌شود تا این پردازنده به صورت یک سیستم کامل (SoC) مجازی عمل کند. همچنین xcore.ai از قابلیت Vector Pipeline پشتیبانی می‌کند که برای یادگیری ماشین استفاده می‌شود. Xcore.ai از شبکه های 32 بیت، 16 بیت، 8 بیت و 1 بیت (باینری) پشتیبانی می‌کند و توان پردازشی 3.2 میلیارد عملیات در ثانیه یا 1.6 میلیارد عملیات اعشاری در ثانیه را دارد. 1 مگابایت حافظه SRAM داخلی و رابط DDR برای گسترش حافظه از دیگر مشخصات xcore.ai است.پردازنده های هوش مصنوعی در صنعت حمل و نقلمحصول: TDA4VMسازنده: Texas Instrumentشرکت TI تا پیش از این بیشتر به ساخت تراشه های با کاربرد خاص معروف بود و TDA4VM اولین سیستم کامل یا SoC برای TI محسوب می‌شود. این پردازنده دارای واحدهای پردازشی مخصوص شبکه عصبی عمیق (Deep Neural Network) است و برای کاربری در صنعت حمل و نقل و خودرو طراحی شده است. TDA4VM می‌تواند یک تصویر پیوسته 12 مگاپیکسل یا 6 تصویر 3 مگاپیکسل را پردازش کند. علاوه بر این از اتصال به سنسورهای رادار، LiDAR و التراسونیک نیز پشتیبانی می‌کند. یکی از نکات جالب این پردازنده پشتیبانی از Sensor Fusion است.Sensor fusion روشی است که در آن با استفاده از تلفیق داده های چند سنسور، اطلاعات دقیقی از یک پارامتر، مثلا موقعیت دقیق خودرو، به دست می‌آید.این ویژگی به کمک قابلیت MMA یا شتابدهنده ضرب ماتریسی در این پردازنده دست یافتنی شده است.پردازنده های مناسب برای پردازش تصویرمحصول: Jetson Nanoسازنده: Nvidiaشرکت Nvidia که همیشه سردمدار ساخت کارت گرافیک بوده است چند وقتی است که وارد حوزه هوش مصنوعی شده است. سری Jetson بردهای الکترونیکی آماده‌ای است که به طور خاص به منظور استفاده در هوش مصنوعی و یادگیری ماشین ساخته شده‌اند. Nano عضو کوچکتر این خانواده و یکی از جذابترین آنهاست. این برد بسیاری از مزایا را یکجا دارد. اولا اینکه یک برد کامل است و بر روی خود علاوه بر پردازشگر گرافیکی، یک پردازنده cortex A-57 و تعداد زیادی رابط USB ، HDMI ، LAN و اتصال به دوربین دارد.از طرف دیگر مصرف برق nano در حین کار تنها 5W است که از سایر تولیدات Nvidia بسیار کمتر است. پردازشگر گرافیکی nano دارای 128 هسته CUDA بوده و توانایی انجام حدود 500 میلیارد عملیات اعشاری در ثانیه را دارد که آن را در رده کارت گرافیک های متوسط تا خوب فعلی قرار می‌دهد. با این برد الکترونیکی می‌توانید چندین شبکه عصبی را به صورت همزمان اجرا کنید. کل این برد ابعادی در حد 7 در 4.5 سانتی‌متر دارد.پردازنده های مخصوص سازندگانمحصول: KL520سازنده: Kneronکاربرد اصلی این محصول برای تشخیص چهره و پردازش تصویر در تلفن های هوشمند، تبلت ها، سیستم های ورود و خروج و خانه های هوشمند است. KL520 برای طراحی شبکه عصبی های حلقوی (CNN) طراحی شده است. این نوع شبکه عصبی به طور گسترده در کاربردهای پردازش تصویر استفاده می‌شود. ساختار شبکه عصبی پیاده شده در این پردازنده می‌تواند توسط سازنده متناسب با نیاز خود تعیین و استفاده شود.KL520 تنها 0.5 وات را برای انجام 3 هزار میلیارد عملیات (3 TOPS) در ثانیه مصرف می‌کند که مقدار خیلی کمی است.محصول: Lightspeeur 5801سازنده: Gyrfalconاین پردازنده چهارمین محصول شرکت Gyrfalcon است که برای تشخیص چهره در تلفن های همراه طراحی شده است. Lightspeeur 5801 قدرت پردازشی حدود 12TOPs را دارد که در نوع خود قابل توجه است. این محصول دارای 10MB حافظه داخلی است که به راحتی می‌تواند یک مدل شبکه عصبی متوسط را در خود جا دهد. قابلیت خوب دیگر این پردازنده تنظیم فرکانس آن بین 50 تا 200 مگاهرتز در شرایط مختلف است و این مورد در کاهش مصرف انرژی آن کمک زیادی می‌کند.پردازنده های هوش مصنوعی بسیار کم مصرفمحصول: ECM3532سازنده: Eta Computeپردازنده ECM3532 یک محصول مخصوص کارهای هوش مصنوعی و اینترنت اشیا است که به گونه‌ای طراحی شده است که بتواند با منابعی مانند باتری یا روش‌های برداشت انرژی (Energy Harvesting) کار کند. مصرف انرژی این پردازنده باورنکردنی است. ECM3532 می‌تواند پردازش تصویر و sensor fusion را تنها با 100 میکرووات انجام دهد. البته شاید نباید از آن انتظار پردازشی معادل یک کارت گرافیک مثل Jetson را داشت اما برای کاربردهایی که نیاز به پردازش های هوش مصنوعی به صورت دائمی و بدون وقفه وجود دارد، مسئله مصرف انرژی اهمیت زیادی پیدا می‌کند. در چنین شرایطی محصولاتی مثل ECM3532 با هیچ کدام از پردازنده‌های دیگر قابل مقایسه نیستند. این پردازنده دو هسته داخلی یکی از نوع Cortex M3 و دیگری DSP دارد.محصول: NDP100سازنده: Syntiantپردازنده NDP100 مخصوص کاربردهای پردازش صدا در شرایطی که مصرف برق اهمیت زیادی دارد طراحی شده است. در این تراشه، پردازنده و حافظه به گونه‌ای در هم ادغام شده‌اند و با این تکنیک مصرف انرژی به کمتر از 140 میکرووات رسیده است. این محصول می‌تواند در کاربردهایی مانند روشن شدن با صدا (wake word detection)، تعیین کلمات، تشخیص گوینده یا تشخیص رخداد با استفاده از صوت مورد استفاده قرار گیرد. به گفته سازنده، NDP100 بسیار مناسب کاربرد در وسایل بی‌سیم مثل هندزفری، ساعت‌های هوشمند و کنترل از راه دور است. این پردازنده به صورت برد توسعه نیز عرضه شده است.به نظر می‌رسد که در کنار پیشرفت سریع الگوریتم های هوش مصنوعی که سر و صدای زیادی هم به پا کرده‌اند، سخت‌افزارهای متناسب با هوش مصنوعی نیز خیلی آرام و بی سر و صدا در حال رشد هستند. شاید بتوان گفت که یکی از نقاط مهم در به وجود آمدن اشیای تصمیم‌گیرنده، هوشمند و با قابلیت استنباط، ابزارهای سخت‌افزاری است که امکان پیاده‌سازی الگوریتم‌های یادگیری ماشین و هوش مصنوعی را فراهم خواهند کرد. تاکنون تلاشهای زیادی صورت گرفته است تا از سخت‌افزارهای موجود مانند CPU، GPU یا FPGA برای کاربردهای هوش مصنوعی استفاده شود اما به نظر می‌رسد ابزارهایی که در آینده برای این کاربردها استفاده خواهند شد تفاوت‌های ذاتی با موارد گذشته خواهند داشت که از آن جمله می‌توان به معماری پردازنده‌های In-memory یا حافظه‌های Phase-change اشاره کرد.ممنونم که نظرات‌تان را با ما به اشتراک می‌گذارید!</description>
                <category>داود درستکار</category>
                <author>داود درستکار</author>
                <pubDate>Mon, 03 Aug 2020 16:43:29 +0430</pubDate>
            </item>
            </channel>
</rss>