مثال: مكوّن CUDA الإضافي في JAX
- تنفيذ واجهة برمجة التطبيقات PJRT C من خلال برنامج تضمين (pjrt_c_api_gpu.h).
- إعداد نقطة دخول الحزمة (setup.py)
- نفِّذ طريقة initialize() (__init__.py).
- يمكن اختبارها باستخدام أي اختبارات jax لوحدة معالجة الرسومات CUDA.
عمليات تنفيذ الأطر
في ما يلي بعض المراجع لاستخدام PJRT من جهة إطار العمل للتواصل مع أجهزة PJRT:
- JAX
- يتفاعل jax-ml/jax
مع واجهات برمجة تطبيقات PJRT من خلال واجهات برمجة تطبيقات
xla_client
.
- يتفاعل jax-ml/jax
مع واجهات برمجة تطبيقات PJRT من خلال واجهات برمجة تطبيقات
- GoMLX
- ZML
- حزمة واجهة برمجة التطبيقات PJRT pjrt.zig
- تحميل مكوّن PJRT الإضافي context.zig
- التفاعل مع وحدات تخزين PJRT buffer.zig
- تنفيذ وحدة عبر PJRT module.zig
عمليات تنفيذ الأجهزة
- الإضافات الكاملة للدمج (PJRT+MLIR+XLA):
- مكونات إضافية لدمج المحتوى البسيط (PJRT+MLIR):
- المكوّن الإضافي StableHLO Reference Interpreter (مكوّن إضافي لـ C++ يستند إلى MLIR، وسيتم ربطه بعد devlabs)
- مكوّن Tenstorrent-XLA الإضافي (مكوّن C الإضافي المستنِد إلى MLIR)