انتشار PoCL 1.3، یک پیاده سازی مستقل از استاندارد OpenCL

نسخه‌ای از پروژه PoCL 1.3 (Portable Computing Language OpenCL) در دسترس است که پیاده‌سازی استاندارد OpenCL را توسعه می‌دهد که مستقل از تولیدکنندگان شتاب‌دهنده‌های گرافیکی است و امکان استفاده از پشتیبان‌های مختلف برای اجرای هسته‌های OpenCL بر روی انواع مختلف گرافیک و پردازنده‌های مرکزی را فراهم می‌کند. . کد پروژه تحت مجوز MIT توزیع شده است. پشتیبانی از عملکرد بر روی پلتفرم های X86_64، MIPS32، ARM v7، AMD HSA APU و انواع مختلف پردازنده های تخصصی TTA (Transport Triggered Architecture) با معماری VLIW.

پیاده سازی کامپایلر هسته OpenCL بر اساس LLVM ساخته شده است و Clang به عنوان قسمت جلویی برای OpenCL C استفاده می شود. برای اطمینان از قابلیت حمل و عملکرد مناسب، کامپایلر هسته OpenCL می تواند توابع ترکیبی ایجاد کند که می تواند از منابع سخت افزاری مختلف برای موازی سازی اجرای کد استفاده کند، مانند VLIW، superscalar، SIMD، SIMT، چند هسته ای و چند رشته ای. پشتیبانی از درایور ICD در دسترس است
(درایور کلاینت قابل نصب). پشتیبان هایی برای پشتیبانی از عملیات از طریق CPU، ASIP (TCE/TTA)، GPU مبتنی بر معماری HSA و NVIDIA GPU (CUDA) وجود دارد.

نسخه جدید پشتیبانی از LLVM/Clang 8.0 را اضافه می کند. پشتیبانی از ICD (Installable Client Driver) در پلتفرم macOS را ارائه می دهد. قابلیت ساخت pocl بدون درایورهای Backend برای CPU را پیاده سازی کرد. برای HSA (معماری سیستم ناهمگن)، پشتیبانی اولیه برای کامپایل ISA در بالای زمان اجرا HSA ارائه شده است. پایه کد پاک شد، از جمله کتابخانه Vecmathlib حذف شد و پشتیبانی از نسخه های قدیمی LLVM (کمتر از 6.0) متوقف شد.

منبع: opennet.ru

اضافه کردن نظر