# النوى

عمليات PyTorch عامة الغرض. يقوم مصنّعو الأجهزة والمجتمع بإنشاء تطبيقات متخصصة تعمل بشكل أسرع على منصات محددة. يُعد تثبيت هذه الأنوية المحسّنة تحدياً لأنه يتطلب مطابقة إصدارات المُجمِّعات، وأدوات CUDA، والبناءات الخاصة بالمنصة.

| منصة | الأجهزة المدعومة |
| :--- | :--- |
| وحدات معالجة رسومات من إنفيديا (CUDA) | المعماريات الحديثة التي تتمتع بقابلية معالجة 7.0+ (Volta، Turing، Ampere، Hopper، Blackwell) |
| بطاقات AMD الرسومية (ROCm) | متوافق مع الأجهزة المدعومة بواسطة ROCm |
| Apple Silicon (Metal) | شرائح سلسلة M (M1، M2، M3، M4 والأحدث) |
| بطاقات الرسوميات من إنتل (XPU) | سلسلة Intel Data Center GPU Max والأجهزة المتوافقة |

يعالج [Kernels](https://huggingface.co/docs/kernels/index) هذه المشكلة من خلال توزيع الثنائيات المُجمّعة مسبقًا عبر [Hub](https://huggingface.co/kernels-community). حيث يكتشف منصتك وقت التشغيل ويحمّل الثنائي المناسب تلقائيًا.

عند تعيين `use_kernels=True`، يحدد Transformers الطبقات التي تتوفر لها نواتم مُحسَّنة. يقوم بتنزيل النواتم من Hub و[تخزينها مؤقتًا](../installation#cache-directory) فقط عند الحاجة لتقليل وقت الإقلاع. تُسرّع النواتم العمليات الحسابية المكثفة مثل الانتباه (attention) والتطبيع (normalization) والعمليات المدمجة (fused operations).

لا تتوفر نواة (kernel) لكل العمليات. عندما لا تتوفر نواة، يعتمد المكتبة على PyTorch القياسي.

## الحتمية

تُنتج بعض النوى (Kernels) نتائج مختلفة قليلاً عن PyTorch بسبب إعادة ترتيب العمليات أو استراتيجيات التجميع. هذه الفروق مكافئة وظيفياً لكنها تؤثر على قابلية إعادة الإنتاج.

للحصول على سلوك حتمي، جرّب ما يلي.

- راجع توثيق مستودع النواة للحصول على ضمانات الحتمية. على سبيل المثال، تطابق نواة SDPA في [gpt-oss-metal-kernels](https://huggingface.co/kernels-community/gpt-oss-metal-kernels#4-scaled-dot-product-attention-sdpa) تنفيذ PyTorch في 97% من الحالات.
- تعطيل نوى محددة تؤثر على حالة الاستخدام الخاصة بك.
- اضبط البذور العشوائية وأعلام الحتمية في PyTorch.

## الموارد

- دليل [تحميل النوى](./loading_kernels) للبدء
- مستودع [Kernels](https://github.com/huggingface/kernels) على GitHub
- مقال [حسّن نماذجك في 5 دقائق مع Hugging Face Kernel Hub](https://huggingface.co/blog/hello-hf-kernels)

