مكتبة intel oneAPI Math Kernel
ابدأ مع مكتبة Intel® oneAPI Math Kernel Library
تساعدك مكتبة Intel® oneAPI Math Kernel Library (oneMKL) على تحقيق أقصى أداء من خلال مكتبة حوسبة رياضية من الإجراءات المحسّنة والمتوازنة على نطاق واسع لوحدة المعالجة المركزية ووحدة معالجة الرسومات. تحتوي المكتبة على واجهات C و Fortran لمعظم الإجراءات على وحدة المعالجة المركزية ، وواجهات DPC ++ لبعض الإجراءات على كل من وحدة المعالجة المركزية ووحدة معالجة الرسومات. يمكنك العثور على دعم شامل للعديد من العمليات الحسابية في واجهات مختلفة بما في ذلك:
لـ C و Fortran على وحدة المعالجة المركزية
- الجبر الخطي
- تحويلات فورييه السريعة (FFT)
- متجه الرياضيات
- محاليل متفرقة مباشرة ومتكررة
- مولدات الأرقام العشوائية
بالنسبة إلى DPC ++ على وحدة المعالجة المركزية ووحدة معالجة الرسومات (راجع مكتبة Intel® oneAPI Math Kernel - مرجع مطور C ++ للبيانات المتوازية لمزيد من التفاصيل.)
- الجبر الخطي
- بلاس
- وظيفة Sparse BLAS المحددة
- وظيفة LAPACK المحددة
- تحويلات فورييه السريعة (FFT)
- رباعي الأبعاد وثلاثي الأبعاد وثنائي الأبعاد
- مولدات الأرقام العشوائية
- وظائف مختارة
- وظيفة Vector Math المحددة
قبل أن تبدأ
قم بزيارة صفحة ملاحظات الإصدار للتعرف على المشكلات المعروفة وأحدث المعلومات.
تفضل بزيارة صفحة متطلبات نظام مكتبة Intel® oneAPI Math Kernel للاطلاع على متطلبات النظام.
قم بزيارة برنامج Get Started with Intel® oneAPI DPC ++ / C ++ Compiler لمتطلبات المترجم DPC ++.
الخطوة 1: قم بتثبيت مكتبة Intel® oneAPI Math Kernel Library
قم بتنزيل مكتبة Intel® oneAPI Math Kernel Library من مجموعة أدوات قاعدة Intel® oneAPI Base Toolkit.
بالنسبة لتوزيعات Python ، راجع تثبيت توزيع Intel® لمكتبات Python * و Intel® Performance Libraries مع pip و PyPI.
بالنسبة لتوزيعات Python ، لاحظ القيود التالية:
لا توفر حزمة تطوير OneMKL (mkl-devel) لتوزيع PIP على نظامي Linux * و macOS * ارتباطات رمزية للمكتبات الديناميكية (لمزيد من المعلومات ، راجع PIP GitHub المشكلة رقم 5919).
في حالة ارتباط مكتبة ديناميكية أو واحدة ديناميكية بحزمة تطوير oneMKL (لمزيد من المعلومات ، راجع oneMKL Link Line Advisor) ، يجب عليك تعديل خط الارتباط باستخدام الأسماء والإصدارات الكاملة لمكتبات oneMKL.
راجع مكتبة Intel® oneAPI Math Kernel وأداة pkg-config للحصول على معلومات حول التجميع والربط باستخدام أداة التكوين pkg.
خط ارتباط واحدMKL على سبيل المثالample مع مجموعة أدوات OneAPI Base عبر الارتباطات الرمزية:
- لينكس:
icc app.obj -L $ {MKLROOT} / lib / intel64 -lmkl_intel_lp64-lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl - ماك:
icc app.obj -L $ {MKLROOT} / lib -Wl، -rpath، $ {MKLROOT} / lib-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
-lm -LDl
خط ارتباط oneMKL على سبيل المثالample مع حزمة PIP devel عبر المكتبات بأسماء وإصدارات كاملة: Linux:
icc app.obj $ {MKLROOT} /lib/intel64/libmkl_intel_lp64.so.1 $ {MKLROOT} /lib/intel64/libmkl_intel_thread.so.1 $ {MKLROOT} /lib/intel64/libmkl_core.so.1 -liomp5 -liompXNUMX -lm -LDl - ماك:
icc app.obj -Wl، -rpath، $ {MKLROOT} / lib $ {MKLROOT} /lib/intel64/libmkl_intel_lp64.1.dylib $ {MKLROOT} /lib/intel64/libmkl_intel_thread.1.dylib
$ {MKLROOT} /lib/intel64/libmkl_core.1.dylib -liomp5 -lpthread -lm-ldl
الخطوة 2: حدد وظيفة أو روتين
حدد وظيفة أو روتينًا من oneMKL الأنسب لمشكلتك. استخدم هذه الموارد:
رابط الموارد: المحتويات
دليل مطور oneMKL لنظام التشغيل Linux *
دليل مطور oneMKL لنظام التشغيل Windows *
دليل مطور oneMKL لنظام التشغيل macOS *
يحتوي دليل المطور على معلومات مفصلة حول العديد من الموضوعات بما في ذلك:
- تجميع وربط التطبيقات
- بناء مكتبات DLL المخصصة
- الخيط
- إدارة الذاكرة
مرجع مطور oneMKL - ج
اللغة oneMKL مرجع مطور - لغة Fortran
مرجع مطور oneMKL - لغة DPC ++
- يحتوي مرجع المطور (بتنسيقات C و Fortran و DPC ++) على أوصاف مفصلة للوظائف والواجهات لجميع مجالات المكتبة.
مرشد البحث عن وظيفة مكتبة Intel® oneAPI Math Kernel
- استخدم مرشد البحث عن وظيفة LAPACK لاستكشاف إجراءات LAPACK المفيدة لمشكلة معينة. على سبيل المثالample ، إذا حددت عملية على النحو التالي:
- النوع الروتيني: حسابي
- مشكلة حسابية: عامل متعامد
- نوع المصفوفة: عام
- العملية: قم بإجراء تحليل QR
الخطوة 3: ربط التعليمات البرمجية الخاصة بك
استخدم oneMKL Link Line Advisor لتكوين أمر الارتباط وفقًا لميزات برنامجك.
بعض القيود والمتطلبات الإضافية:
تدعم مكتبة Intel® oneAPI Math Kernel لـ DPC ++ فقط استخدام مكتبة واجهة mkl_intel_ilp64 والترابط التسلسلي أو TBB.
لواجهات DPC ++ ذات الارتباط الثابت على Linux
icpx -fsycl -fsycl-device-code-split = per_kernel -DMKL_ILP64 $ {MKLROOT} /lib/intel64/libmkl_sycl.a -Wl، –start-group $ {MKLROOT} /lib/intel64/libmkl_intel_ilp64.a $ {MKLROOT} / lib / intel64 /
libmkl_ .a $ {MKLROOT} /lib/intel64/libmkl_core.a -Wl، –end-group -lsycl -lOpenCL -lpthread -ldl -lm
على سبيل المثالample ، بناء / ربط main.cpp بشكل ثابت بواجهات ilp64 وخيوط TBB:
icpx -fsycl -fsycl-device-code-split = per_kernel -DMKL_ILP64 -I $ {MKLROOT} / include main.cpp $
{MKLROOT} /lib/intel64/libmkl_sycl.a -Wl، –start-group $ {MKLROOT} / lib / intel64 /
libmkl_intel_ilp64.a $ {MKLROOT} /lib/intel64/libmkl_tbb_thread.a $ {MKLROOT} / lib / intel64 /
libmkl_core.a -Wl، –end-group -L $ {TBBROOT} /lib/intel64/gcc4.8 -ltbb -lsycl -lOpenCL -lpthread -lm -ldl
لواجهات DPC ++ ذات الارتباط الديناميكي على Linux
icpx -fsycl -DMKL_ILP64 -L $ {MKLROOT} / lib / intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_core -lsycl -lOpenCL -lpthread -ldl -lm
على سبيل المثالample ، بناء / ربط main.cpp ديناميكيًا بواجهات ilp64 وخيوط TBB:
icpx -fsycl -DMKL_ILP64 -I $ {MKLROOT} / include main.cpp -L $ {MKLROOT} / lib / intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_tbb_thread -lmkl_core -lsycl -lOpen -ltbread
لواجهات DPC ++ ذات الارتباط الثابت على نظام Windows
icpx -fsycl -fsycl-device-code-split = per_kernel -DMKL_ILP64 “٪ MKLROOT٪” \ lib \ intel64 \ mkl_sycl.lib
mkl_intel_ilp64.lib mkl_ .lib mkl_core_lib sycl.lib OpenCL.lib
على سبيل المثالample ، بناء / ربط main.cpp بشكل ثابت بواجهات ilp64 وخيوط TBB:
icpx -fsycl -fsycl-device-code-split = per_kernel -DMKL_ILP64 -I ”٪ MKLROOT٪ \ include“ main.cpp ”٪ MKLROOT٪” \ lib \ intel64 \ mkl_sycl.lib mkl_intel_ilp64.lib mkl_tbb_thread.lib.lib .lib OpenCL.lib tbb.lib
لواجهات DPC ++ ذات الارتباط الديناميكي على Windows
icpx -fsycl -DMKL_ILP64 “٪ MKLROOT٪” \ lib \ intel64 \ mkl_sycl_dll.lib mkl_intel_ilp64_dll.lib mkl_ _dll.lib mkl_core_dll.lib tbb.lib sycl.lib OpenCL.lib
على سبيل المثالample ، بناء / ربط main.cpp ديناميكيًا بواجهات ilp64 وخيوط TBB:
icpx -fsycl -fsycl-device-code-split = per_kernel -DMKL_ILP64 -I ”٪ MKLROOT٪ \ include” main.cpp “٪ MKLROOT٪” \ lib \ intel64 \ mkl_sycl_dll.lib mkl_intel_ilp64_dll.lib mklkbll. .lib sycl.lib OpenCL.lib
لواجهات C / Fortran مع دعم OpenMP Offload
استخدم واجهات مكتبة C / Fotran Intel® oneAPI Math Kernel Library مع ميزة إلغاء تحميل OpenMP إلى وحدة معالجة الرسومات.
راجع دليل المطور C OpenMP Offload للحصول على مزيد من التفاصيل حول هذه الميزة.
أضف التغييرات التالية إلى خطوط التحويل البرمجي / الارتباط C / Fortran oneMKL لتمكين ميزة إلغاء تحميل OpenMP إلى وحدة معالجة الرسومات:
- خيارات التجميع / الارتباط الإضافية: -fiopenmp -fopenmp-Goals = spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
- مكتبة oneMKL إضافية: مكتبة oneMKL DPC ++
على سبيل المثالample ، بناء / ربط main.cpp ديناميكيًا على Linux بواجهات ilp64 و OpenMP threading:
icx -fiopenmp -fopenmp-target = spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl -DMKL_ILP64 -m64 -I $ (MKLROOT) / include main.cpp L $ {MKLROOT} / lib / intel64 - lmkl_sycl -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lsycl -lOpenCL -lstdc ++ -lpthread -lm -ldl
لجميع التكوينات المدعومة الأخرى ، راجع Intel® oneAPI Math Kernel Library Link Line Advisor.
إبحث عن المزيد
المصدر: الوصف
البرنامج التعليمي: استخدام مكتبة Intel® oneAPI Math Kernel لمضاعفة المصفوفة:
- البرنامج التعليمي - لغة سي
- البرنامج التعليمي - لغة فورتران
يوضح هذا البرنامج التعليمي كيف يمكنك استخدام oneMKL لمضاعفة المصفوفات ، وقياس أداء ضرب المصفوفة ، والتحكم في الترابط.
مكتبة نواة الرياضيات Intel® oneAPI (oneMKL) التحكم في ملاحظات الإصدار.
تحتوي ملاحظات الإصدار على معلومات خاصة بالإصدار الأخير من oneMKL بما في ذلك الميزات الجديدة والمتغيرة. تتضمن ملاحظات الإصدار روابط لمصادر المعلومات الرئيسية عبر الإنترنت المتعلقة بالإصدار. يمكنك أيضًا العثور على معلومات حول:
- ما الجديد في الإصدار
- محتويات المنتج
- الحصول على الدعم الفني
- تعريفات الرخصة
مكتبة Intel® oneAPI Math Kernel
صفحة منتج Intel® oneAPI Math Kernel Library (oneMKL). راجع هذه الصفحة للحصول على الدعم والتوثيق عبر الإنترنت.
كتاب الطبخ بمكتبة Intel® oneAPI Math Kernel
تحتوي مكتبة Intel® oneAPI Math Kernel على العديد من الإجراءات الروتينية لمساعدتك في حل المشكلات العددية المختلفة ، مثل ضرب المصفوفات وحل نظام المعادلات وإجراء تحويل فورييه.
ملاحظات حول إحصائيات المتجهات الخاصة بمكتبة Intel® oneAPI Math Kernel
تتضمن هذه الوثيقة أكثر منview، نموذج استخدام ونتائج اختبار لمولدات الأرقام العشوائية المدرجة في VS.
Intel® oneAPI Math Kernel Library إحصائيات المتجهات بيانات أداء مولد الأرقام العشوائية
بيانات الأداء التي تم الحصول عليها باستخدام إحصائيات المتجهات (VS) مولد الأرقام العشوائية (RNG) بما في ذلك وحدة القياس CPE (الساعات لكل عنصر) ، ومولدات الأرقام العشوائية الأساسية (BRNG) ، ومولدات التوزيع المتولدة ، وطول المتجهات المتولدة.
Intel® oneAPI Math Kernel Library Vector أداء الرياضيات وبيانات الدقة
تحسب Vector Mathematics (VM) الدوال الأولية على وسيطات المتجهات. يتضمن VM مجموعة من التطبيقات المحسّنة للغاية للوظائف الرياضية الأساسية باهظة الثمن حسابيًا (القوة ، المثلثية ، الأسية ، الزائدية ، وغيرها) التي تعمل على المتجهات.
ملاحظات التطبيق لإحصائيات ملخص مكتبة Intel® oneAPI Math Kernel
ملخص الإحصائيات هو مكون فرعي لمجال Vector Statistics الخاص بمكتبة Intel® oneAPI Math Kernel. توفر لك الإحصائيات الموجزة وظائف للتحليل الإحصائي الأولي ، وتقدم حلولاً للمعالجة المتوازية لمجموعات البيانات متعددة الأبعاد.
LAPACK السابقampليه
يوفر هذا المستند رمزًا على سبيل المثالampإجراءات MKL LAPACK (حزمة الجبر الخطي).
الإخطارات وإخلاء المسؤولية
قد تكون البرامج وأحمال العمل المستخدمة في اختبارات الأداء قد تم تحسينها للأداء فقط على معالجات Intel الدقيقة. يتم قياس اختبارات الأداء ، مثل SYSmark و MobileMark ، باستخدام أنظمة ومكونات وبرامج وعمليات ووظائف محددة للكمبيوتر. قد يؤدي أي تغيير في أي من هذه العوامل إلى اختلاف النتائج. يجب عليك الرجوع إلى المعلومات الأخرى واختبارات الأداء لمساعدتك في التقييم الكامل لمشترياتك المتوقعة ، بما في ذلك أداء هذا المنتج عند دمجه مع منتجات أخرى. لمزيد من المعلومات الكاملة قم بزيارة www.intel.com/benchmarks.
قد تتطلب تقنيات Intel تفعيل الأجهزة أو البرامج أو تفعيل الخدمة.
لا يمكن أن يكون أي منتج أو مكون آمنًا تمامًا.
قد تختلف التكاليف والنتائج الخاصة بك.
© شركة إنتل. تعد Intel وشعار Intel وعلامات Intel الأخرى علامات تجارية لشركة Intel Corporation أو الشركات التابعة لها. قد تكون الأسماء والعلامات التجارية الأخرى مملوكة لآخرين.
معلومات المنتج والأداء
يختلف الأداء حسب الاستخدام والتكوين وعوامل أخرى. تعلم اكثر من خلال www.Intel.com/PerformanceIndex.
مراجعة الإخطار رقم 20201201
لا يتم منح أي ترخيص (صريح أو ضمني، عن طريق الحجب أو غير ذلك) لأي حقوق الملكية الفكرية بموجب هذه الوثيقة.
قد تحتوي المنتجات الموصوفة على عيوب في التصميم أو أخطاء معروفة باسم الأخطاء المطبعية والتي قد تتسبب في انحراف المنتج عن المواصفات المنشورة. تتوفر الأخطاء المطبعية الحالية عند الطلب.
تتنصل Intel من جميع الضمانات الصريحة والضمنية ، بما في ذلك على سبيل المثال لا الحصر ، الضمانات الضمنية الخاصة بالتسويق ، والملاءمة لغرض معين ، وعدم الانتهاك ، بالإضافة إلى أي ضمان ينشأ عن مسار الأداء ، أو مسار التعامل ، أو الاستخدام في التجارة.
المستندات / الموارد
![]() |
مكتبة intel oneAPI Math Kernel [بي دي اف] دليل المستخدم مكتبة oneAPI Math Kernel ، ومكتبة Math Kernel ، ومكتبة Kernel ، والمكتبة |