rocWMMA به عنوان یک کتابخانه هدر منتشر می شود و شامل پروژه های آزمایشی و نمونه برای تأیید و نشان دادن نمونه های استفاده از C++ API است. ضرب ماتریس GEMM به عنوان اعتبار سنجی اولیه با توجه به سابقه سنگین برای کتابخانه استفاده می شود. با این حال، نمونه کارها به طور قابل توجهی افزایش می یابد و روش های مختلف مصرف rocWMMA را نشان می دهد.
مرجع اخبار سخت افزار کامپیوترایران
IP گرافیکی RDNA3 AMD به سرعت در حال نزدیک شدن است و ما اطلاعات بیشتری در مورد معماری آینده می شنویم. از لحاظ تاریخی، با پیشرفت پردازندههای گرافیکی، برای شرکتها غیرمعمول نیست که بلوکهای سختافزاری اختصاصی را برای سرعت بخشیدن به یک کار خاص اضافه کنند. امروز، مهندسان AMD باطن کامپایلر LLVM را بهروزرسانی کردند تا دستورالعمل جدیدی به نام Wave Matrix Multiply-Acumulate (WMMA) را شامل شود. این دستورالعمل در GFX11، که معماری GPU RDNA3 است، وجود دارد. با WMMA، AMD از پردازش تانسورهای اندازه 16x16x16 در فرمت های دقیق FP16 و BF16 پشتیبانی می کند. با این دستورالعملها، AMD مفاد جدیدی را برای پشتیبانی از پردازش عملیات انباشته چند برابری ماتریس اضافه میکند. این دقیقاً شبیه کاری است که NVIDIA با Tensor Cores انجام می دهد.
بهروزرسانی AMD ROCm 5.2 موارد استفاده این نوع دستورالعمل را فهرست میکند که در زیر میتوانید آن را ببینید:
rocWMMA یک API C++ را برای کمک به شکستن مشکلات انباشت ضرب ماتریس به قطعات و استفاده از آنها در عملیات بلوکی که به صورت موازی در سراسر جبهههای موج GPU توزیع میشوند، ارائه میکند. API یک کتابخانه هدر کد دستگاه GPU است، به این معنی که شتاب هسته ماتریس را می توان مستقیماً در کد دستگاه هسته شما کامپایل کرد. این می تواند از بهینه سازی کامپایلر هنگام ساخت مجموعه هسته بهره مند شود و هزینه های اضافی مربوط به پیوند به کتابخانه های زمان اجرا خارجی یا راه اندازی هسته های جداگانه را متحمل نمی شود.