منصوبے کے بارے میں

JAX پائتھون اور NumPy پروگراموں کے لیے کمپوزایبل فنکشن ٹرانسفارمیشنز کا ایک سسٹم فراہم کرتا ہے۔ اسے XLA (Accelerated Linear Algebra) کے ذریعے کمپائلیشن کا استعمال کرتے ہوئے GPUs اور TPUs سمیت ہارڈویئر ایکسلریٹرز پر نیومیریکل کمپیوٹنگ کو اسکیل کرنے کے لیے ڈیزائن کیا گیا ہے۔ کلیدی صلاحیتوں میں شامل ہیں: - آٹومیٹک ڈیفرینشی ایشن: `jax.grad` کا استعمال کرتے ہوئے، یہ پائتھون لوپس، برانچز، ریکرژن، اور کلوزرز کے ذریعے ریورس-موڈ اور فارورڈ-موڈ ڈیفرینشی ایشن کو سپورٹ کرتا ہے، جس سے ہائیر آرڈر ڈیریویٹوز ممکن ہوتے ہیں۔ - جسٹ-ان-ٹائم (JIT) کمپائلیشن: `jax.jit` کا استعمال کرتے ہوئے، یہ ایکسلریٹرز پر ایگزیکیوشن پرفارمنس کو بہتر بنانے کے لیے XLA کے ذریعے پیور فنکشنز کو کمپائل کرتا ہے۔ - آٹو-ویکٹورائزیشن: `jax.vmap` کا استعمال کرتے ہوئے، یہ لوپس کو پریمیٹیو آپریشنز تک منتقل کر کے فنکشنز کو ارے ایکسز کے ساتھ میپ کرتا ہے، جس سے مینوئل بیچ ڈائمینشن مینجمنٹ کی ضرورت ختم ہو جاتی ہے۔ - اسکیلنگ اور پیرلیلائزیشن: یہ اسکیلنگ کے مختلف موڈز کو سپورٹ کرتا ہے بشمول کمپائلر-بیسڈ آٹومیٹک پیرلیلائزیشن، ایکسپلیسٹ شارڈنگ، اور ایکسپلیسٹ کلیکٹوز کے ساتھ مینوئل پر-ڈیوائس پروگرامنگ۔ JAX متعدد پلیٹ فارمز بشمول Linux، macOS، اور Windows کے ساتھ ہم آہنگ ہے، جس میں CPU، NVIDIA GPU، Google TPU، AMD GPU، اور Apple اور Intel GPUs کے لیے تجرباتی سپورٹ شامل ہے۔