متن اصلی

Jen-Hsun Huang NVIDIA Tesla P100

کمپانی انویدیا طی مراسم GTC 2016 واقع در San Jose کالیفرنیا که میزبان کنفراس خبری بزرگ تکنولوژی های وابسته به تراشه های گرافیکی سال جاری بوده است از جدیدترین محصولات خود با معماری نوین Pascal پرده برداری کرد، مدیر عامل انویدیا آقای Jen-Hsun Huang در طول مراسم پس از ارائه اطلاعاتی پیش زمینه در رابطه با معماری جدید Pascal محصول Tesla P100 را به عنوان سریعترین محصول گرافیکی حال حاضر دنیا معرفی کرد، Tesla P100 به قدرتمندترین تراشه گرافیکی سری Pascal تحت عنوان GP100 مجهز شده است و تکنولوژی های بسیار پیشرفته ای را همراه خود خواهد داشت، محصول مورد نظر به طور اختصاصی برای سیستم های محاسباتی قدرتمند HPC، هوش مصنوعی و دیتا سنترهای بزرگی وابسته به عملکرد پردازشی زیاد طراحی شده است، در ادامه بررسی اجمالی از معماری نوین پاسکال و فناوری های جدید معرفی شده همراه آن صورت خواهد گرفت.

GP100-Block-Diagram

با هر معماری جدید تراشه های گرافیکی کمپانی انویدیا تغییرات عمده ای در زمینه عملکرد کلی و بهینه سازی مصرف انرژی صورت می گیرد، محاسبات اصلی تراشه های گرافیکی پاسکال انویدیا در واحد های پردازشگری تحت عنوان SM که در قلب GPU قرار گرفته اند خلاصه شده است، واحد های Streaming Multiprocessor یا به اختصار SM نقش اصلی مدیریت، برنامه ریزی و اجرا تمام دستورالعمل های پردازشی وابسته به نرم افزارها و برنامه های مختلف را برعهده دارند، GP100 مشابه با تراشه های گرافیکی گذشته انویدیا از خوشه های پردازش گرافیکی (GPC)، واحد های SM و کنترل کننده های حافظه تشکیل شده است. تراشه GP100 توان عظیم پردازشی خود را از طریق 6 عدد خوشه پردازش گرافیکی، 60 واحد SM و 8 کنترل کننده حافظه با رابط 512 بیتی (در مجموع 4096Bit) فراهم می کند. انویدیا در معماری محاسباتی Pascal از طریق گسترش تعداد و بهینه سازی واحد های SM نسبت به نسل گذشته Maxwell عملکرد کلی را افزایش داده است، هر واحد SM دارای 64 هسته CUDA و 4 واحد بافت نگاری (TMU) می باشد که در مجموع تعداد 3840 هسته CUDA و 240 واحد بافت نگاری را برای تراشه GP100 فراهم می کند. ارائه کارایی بیشتر در کنار مصرف انرژی کمتر دو هدف اصلی در معماری جدید تراشه های گرافیکی پاسکال می باشد، انویدیا با تغییراتی که در واحد های SM موجود در تراشه های گرافیکی Maxwell ایجاد کرد بهینه سازی بهتر Maxwell نسبت به معماری گذشته Kepler در زمینه مصرف انرژی را تضمین کرد، معماری Pascal بر مبنای همین راهکار توسعه یافته است با این تفاوت که پیشرفت ها و بهبود های اضافه ای را با خود همراه دارد تا در زمینه بهینه سازی مصرف انرژی از Maxwell نیز پیشی بگیرد، البته نقش مهم فناوری ساخت 16nm Fin-FET که توسط شرکت TSMC به بهره برداری رسیده است قطعا در مؤفقیت پاسکال قابل انکار نیست.

 در جدول زیر تغییرات اصلی که در آخرین محصول Tesla صورت گرفته است را مشاهده خواهید کرد!

Tesla P100 Tesla M40 Tesla K40 Tesla Products
GP100 (Pascal) GM200 (Maxwell) GK110 (Kepler) GPU
56 24 15 SMs
28 25 15 TPCs
64 128 192 FP32 CUDA Cores / SM
3584 3072 2880 FP32 CUDA Cores / GPU
32 4 64 FP64 CUDA Cores / SM
1792 96 960 FP64 CUDA Cores / GPU
1328MHz 948MHz 745MHz Base Clock
1480MHz 1114MHz 810/875MHz GPU Boost Clock
5304 213 1680 FP64 GFLOPs
224 192 240 Texture Units
4096bit HBM2 384bit GDDR5 384bit GDDR5 Memory Interface
16GB Up to 24 GB Up to 12 GB Memory Size
4096 3072KB 1536KB L2 Cache Size
256KB 256KB 256KB Register File Size / SM
14336KB 6144KB 3840KB Register File Size / GPU
300Watts 250Watts 235Watts TDP
15.3billion 8billion 7.1billion Transistors
610mm² 601mm² 551mm² GPU Die Size
16nm 28nm 28nm Manufacturing Process

واحد های پردازشی SM در تراشه GP100 دارای 64 هسته CUDA با قابلیت عملکردی Single-Precision (FP32) می باشد که این مقدار در Maxwell و Kepler به ترتیب برابر با 128 و 192 بوده است، هر واحد SM از دو بلوک پردازشی تشکیل شده است و هر کدام دارای 32 هسته CUDA از نوع Single-Precision، یک بافر دستورالعمل (Instruction Buffer)، یک پیچیدگی زمانبندی (Warp Scheduler) و دو واحد ارسال (Dispatch Units) می باشند، اگرچه تعداد هسته های CUDA واحد های SM در تراشه GP100 تقریبا نصف واحد های SM در Maxwell است اما با این وجود اندازه Register File کاملا مشابه با معماری نسل های قبلی می باشد و مطابق با آن نیز از Warp ها و رشته بلوک های پردازشی (Thread Block) استفاده یکسانی خواهد کرد، همانطور که گفته شد SM های تراشه پرچمدار Pascal مشابه با Maxwell GM200 و همچنین Kepler GK110 دارای اندازه یکسانی از Register File فایل هستند اما به لطف افزایش تعداد واحد های SM در معماری پاسکال برآیند کلی سطح Register File نیز گسترش یافته است، این مسئله بدان معنی است که رشته بلوک های پردازشی در سراسر تراشه گرافیکی به میزان Register File بیشتری دسترسی دارند در نتیجه GP100 قادر خواهد بود تا از Thread ها و Warp های بیشتری پشتیبانی کند.

gp100 SM diagram

NVIDIA Pascal SM Units

علاوه بر این موارد حافظه کلی به اشتراک گذاشته (Shared Memory) در تراشه GP100 نیز به دلیل بیشتر شدن SM ها افزایش یافته و مجموع پهنای باند کلی حافظه اشتراکی را تقریبا تا دو برابر گسترش داده است. بالا رفتن نسبت پیچیدگی زمانبندی، حافظه اشتراکی و Register File در هر SM تراشه GP100 اجازه خواهد داد تا واحد های پردازشی SM با سرعت و عملکرد بیشتری کدها و دستورات پردازشی را اجرا کنند. واحد های SM در معماری Pascal در مقایسه با Kepler از سازمان بندی مسیر داده ساده تری استفاده می کنند در نتیجه به انرژی کمتر و سطح مقطع کمتری از تراشه برای مدیریت انتقال داده ها در واحد های SM نیاز خواهد بود، همچنین انویدیا در معماری پاسکال جهت افزایش استفاده و کارایی ممیز های شناور از زمانبندی پیشرفته ای همراه با برنامه ریز برتری با قابلیت همپوشانی بارگذاری/ذخیره سازی دستور العمل ها بهره برده است، این برنامه ریز SMها در تراشه گرافیکی GP100 بسیار هوشمندتر از نسل قبلی مکسول می باشد و منجر به کارایی بهتر و مصرف کمتر انرژی در طول عملیات های پردازشی خواهد شد.

gtc2016 nvidia pascal

هدف اصلی انویدیا با Pascal تسخیر بازار HPC ها می باشد و برای مطمئن شدن از این امر نسبت هسته های CUDA با قابلیت پردازشی Double-Precision را در واحد های SM به خوبی افزایش داده است، در هر واحد SM تراشه GP100 تعداد 32 هسته CUDA با نقش پردازشی FP64 حضور دارد که نسبت بخش پردازشی Double-Precision به Single-Precision یا FP32 را به مقدار 2:1 رسانده است، این در حالی هست که در تراشه پرچمدار معماری Kepler این نسبت برابر 3:1 بوده است، بیشتر شدن تعداد هسته های CUDA با قابلیت عملکردی Double-Precision (FP64) در تراشه GP100 پتانسیل پردازشی محصول Tesla P100 را در برنامه های Compute محور یا محاسباتی فوق العاده بهبود خواهد بخشید، مشابه با پرچمدار های نسل قبلی تراشه GP100 با الگوریتم های محاسباتی IEEE 754‐2008 جهت انجام عملیات FMA و همچنین الگوریتم پردازشی تبدیل سریع فوریه (FFT) نیز کاملا هماهنگ خواهد بود، علاوه بر این تراشه گرافیکی GP100 از نسل جدید Compute Capability 6.0 نیز پشتیبانی خواهد کرد که این سازگاری در محصولات Maxwell تنها تا نسخه 5.3 و 3.5 در Kepler وجود داشته است.

gtc2016 nvidia deep learning

یکی از بخش هایی که انویدیا تاکید بسیار زیادی در محصولات Pascal روی آن داشته است مبحث Deep Learning می باشد، برخلاف برنامه های کاربردی محاسبات فنی که به دقت بالا در ممیز های شناور نیاز دارند، معماری شبکه های عصبی عمیق با توجه به الگوریتم هایی که در ساختار خود دارند نسبت به خطاهای ایجاد شده دارای یک انعطاف پذیری طبیعی هستند، ذخیره سازی داده های FP16 در مقایسه با پردازشگرهای با دقت بیشتر نظیر FP32 و FP64 میزان مصرف حافظه شبکه های عصبی را کاهش می دهد و باعث آموزش و استقرار بیشتر شبکه ها خواهد شد، استفاده از پردازشگرهای محاسباتی FP16 عملکرد کلی را در مبحث یادگیری عمیق و هوش مصنوعی تقریبا تا دو برابر نسبت به محاسبه گر های FP32 افزایش خواهد داد این در حالی هست که میزان زمان انتقال داده نیز به طور مؤثری در FP16 کاهش می یابد. واحد های SM در تراشه GP100 عملیات محاسبات ریاضی نوینی را فراهم می کنند که توانایی انجام دو عملیات FP16 را در یک زمان و در یک هسته CUDA با قابلیت عملکردی Single-Precision خواهند داشت.

gtc2016 nvidia self driving

امروزه اکثر برنامه ها و نرم افزار ها از گلوگاه پهنای باند حافظه ها رنج می برند، این مسئله در سیستم های HPC که قدرت پردازش بالایی دارند به طور شدیدتری تاثیر خود را خواهد گذاشت، HPC یا High-Performance Computing به سیستم هایی گفته می شود که دارای توانایی پردازشی بیش از یک ترافلاپ (انجام 1012 ممیز شناور عملیاتی در هر ثانیه) هستند و از طریق پردازش موازی، برنامه های پیشرفته را به صورت سریعتر، مؤثرتر و با اطمینان بیشتر اجرا می کنند، همچنین اصطلاح HPC در بعضی از مواقع به عنوان مترادفی برای سیستم های پردازشی ابری یا سوپر کامپیوترها نیز در نظر گرفته می شود، سوپر کامپیوترها در واقع برترین و سریعترین سیستم های نسل خود هستند و قدرت پردازشی بعضی از آن ها مرز پتافلاپ (انجام 1015 ممیز شناور عملیاتی در هر ثانیه) را نیز پشت سر می گذارند، کاربران اصلی سیستم های HPC مهندسان، مؤسسات دانشگاهی، محققان و دانشمندان علمی هستند، البته آژانس های دولتی به ویژه بخش های نظامی نیز قطعا بر روی قدرت پردازشی زیاد این سیستم ها جهت تسهیل برنامه های پیچیده تکیه می کنند، اکثر توسعه دهندگان نرم افزارهای قدرتمند پردازشی وقت و تلاش بسیار زیادی را برای بهینه سازی کدها و دستورات اجرایی جهت دسترسی کارآمد به حافظه های سخت افزاری صرف می کنند تا داده ها را نزدیک به بخش های پردازشی محاسباتی نگه دارند.

PASCAL GP100

تعداد بسیار زیادی از این برنامه ها به ویژه زیر مجموعه های Deep Learning نیز به حجم کلی حافظه محدود شده اند در نتیجه دو مؤلفه ظرفیت و پهنای باند عامل های اصلی محدود کننده برنامه های مورد نظر می باشند. محصول Tesla P100 با بهره گیری از نسل دوم حافظه های پرسرعت HBM در صدد مرتفع سازی مشکلات مربوطه به میدان آمده است، Tesla P100 اولین محصولی می باشد که از حافظه های ویژه HBM2 استفاده می کند، حافظه های HBM2 پهنای باند بسیار بیشتری را در کنار ظرفیت و حجم بالاتر در مقایسه با حافظه های مرسوم GDDR5 فراهم می کنند و در زمینه مصرف انرژی نیز بسیار بهینه تر عمل می کنند، به جای استفاده از چیپ های حافظه با اندازه بزرگ در سطح برد مدار چاپی (PCB) از طریق حافظه های پیشرفته HBM2، چیپ های مورد نظر به صورت عمودی و در چند لایه مختلف در کنار تراشه گرافیکی (GPU) قرار می گیرند، این چیپ های حافظه که در واقع Memory Stack نام دارند از طریق سیم بسیار کوچک (Microbump) با یکدیگر در ارتباط هستند و در ادامه Memory Stack ها از طریق رابط Interposer با تراشه گرافیکی در ارتباط خواهند بود، Tesla P100 دارای 4 ردیف حافظه HBM2 می باشد که در مجموع 16GB ظرفیت را با حداکثر پهنای باند 720GB/s فراهم می کنند، یکی از ویژگی های مهم حافظه های HBM2 توانایی عملکردی مشابه با حافظه های ECC است که منجر به خروجی داده های محاسباتی با بیشترین دقت و کمترین اشتباه خواهد شد.

nvidia nvlink

کمپانی انویدیا برای بهبود عملکرد پردازشی محصولات Pascal در بازار HPCها تنها به پتانسیل معماری جدید پاسکال و حافظه های HBM2 اتکا نکرده است و از تکنولوژی پیشرفته خود تحت عنوان NVLink در Tesla P100 جهت انتقال بهتر داده ها و اطلاعات به پردازنده اصلی سیستم استفاده کرده است، جهت برقراری اتصال بهتر بین دو بخش اصلی پردازش سیستم های سخت افزاری (CPU و GPU) و کاهش گلوگاه ورودی اطلاعات تکنولوژی منحصر به فرد NVLink معرفی شد، NVIDIA NVLink اولین تکنولوژی ارتباط سریع برای تراشه های گرافیکی می باشد که سرعت تبادل اطلاعات بین پردازنده و گرافیک را 5 الی 12 برابر سریعتر از رابط مرسوم PCIe افزایش می دهد. همزمان با معرفی NVLink در سال گذشته، وزارت انرژی آمریکا به عنوان نخستین مشتری این فناوری برای سوپر کامپیوترهای خود اعلام آمادگی کرد، بیشترین تاثیر NVLink جهت افزایش پهنای باند و سرعت انتقال اطلاعات در سیستم های متشکل از چند عدد کارت های گرافیک یا به اصطلاح Multi-GPU مشاهده خواهد شد. به طور مثال تبدیل سریع فوریه (FFT) نوعی الگوریتم می باشد که به طور گسترده در مبحث های لرزه نگاری، معادلات دیفرانسیل جزئی، پردازش سیگنال ها و همچنین تصاویر مورد استفاده قرار می گیرد، این الگوریتم معمولا توسط سرورهایی متشکل از دو تراشه گرافیکی که توسط رابط PCIe به پردازنده متصل شده اند اجرا می شوند، برای توزیع مناسب حجم کار FFT دو تراشه گرافیکی مقدار بسیار زیادی از داده ها را تبادل می کنند، با توجه به محدودیت PCIe انتقال اطلاعات حداکثر با سرعت 16GB/s انجام خواهد گرفت که بهره گیری از NVLink این رقم را تا 80GB/s افزایش خواهد داد.