intel oneAPI Math Kernel Library
התחל עם Intel® oneAPI Math Kernel Library
ספריית ליבת המתמטיקה של Intel® oneAPI (oneMKL) עוזרת לך להשיג ביצועים מקסימליים עם ספריית מחשוב מתמטית של שגרות אופטימליות ומקבילות רבות עבור CPU ו-GPU. לספרייה יש ממשקי C ו-Fortran עבור רוב השגרות ב-CPU, וממשקי DPC++ עבור כמה שגרות ב-CPU וגם ב-GPU. אתה יכול למצוא תמיכה מקיפה למספר פעולות מתמטיקה בממשקים שונים כולל:
עבור C ו-Fortran במעבד
- אלגברה לינארית
- טרנספורמציות פורייה מהירות (FFT)
- מתמטיקה וקטורית
- פותרים דלילים ישירים ואיטרטיביים
- מחוללי מספרים אקראיים
עבור DPC++ במעבד ו-GPU (עיין בספריית Intel® oneAPI Math Kernel—Data Parallel C++ Developer Reference לפרטים נוספים.)
- אלגברה לינארית
- BLAS
- פונקציונליות BLAS דלילה נבחרה
- פונקציונליות LAPACK נבחרה
- טרנספורמציות פורייה מהירות (FFT)
- 1D, 2D ו-3D
- מחוללי מספרים אקראיים
- פונקציונליות נבחרת
- פונקציונליות מתמטיקה וקטורית נבחרה
לפני שאתה מתחיל
בקר בדף הערות שחרור עבור הבעיות הידועות והמידע העדכני ביותר.
בקר בדף דרישות מערכת למערכת הליבה המתמטית של Intel® oneAPI לדרישות המערכת.
בקר בדף התחל עם Intel® oneAPI DPC++/C++ Compiler לדרישות מהדר DPC++.
שלב 1: התקן את ספריית ליבת מתמטיקה של Intel® oneAPI
הורד את ספריית ליבת מתמטיקה של Intel® oneAPI מ-Intel® oneAPI Base Toolkit.
להפצות של Python, עיין בהתקנת Intel® Distribution עבור Python* ו-Intel® Performance Libraries עם pip ו- PyPI.
עבור הפצות Python, שימו לב למגבלה הבאה:
חבילת oneMKL devel (mkl-devel) להפצת PIP ב-Linux* ו-macOS* אינה מספקת קישורי סימליות דינמיים לספריות (למידע נוסף, עיין בנושא PIP GitHub מס' 5919).
במקרה של קישור ספרייה דינמית או דינמית יחידה עם חבילת oneMKL devel (למידע נוסף ראה OneMKL Link Line Advisor) עליך לשנות את שורת הקישור עם השמות המלאים והגרסאות של ספריות oneMKL.
עיין ב-Intel® oneAPI Math Kernel Library ובכלי pkg-config למידע על הידור וקישור עם הכלי pkg-config.
קו קישור oneMKL example עם ערכת הכלים הבסיסית של oneAPI באמצעות קישורים סימליים:
- לינוקס:
icc app.obj -L${MKLROOT}/lib/intel64 -lmkl_intel_lp64-lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl - MacOS:
icc app.obj -L${MKLROOT}/lib -Wl,-rpath,${MKLROOT}/lib-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
-lm -ldl
קו הקישור oneMKL example עם חבילת פיתוח PIP דרך ספריות שמות מלאים וגרסאות: 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 -lpthread -lm -ldl - MacOS:
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 מדריך למפתחים עבור לינוקס*
OneMKL מדריך למפתחים עבור Windows*
oneMKL מדריך למפתחים עבור macOS*
המדריך למפתחים מכיל מידע מפורט על מספר נושאים, כולל:
- הידור וקישור יישומים
- בניית קובצי DLL מותאמים אישית
- הַשׁחָלָה
- ניהול זיכרון
עזר למפתחים של oneMKL – C
Language oneMKL Developer Reference – Fortran Language
עזר למפתחים של oneMKL – שפת DPC++
- הפניה למפתחים (בפורמטים C, Fortran ו- DPC++) מכילה תיאורים מפורטים של הפונקציות והממשקים עבור כל תחומי הספרייה.
Intel® oneAPI Math Kernel Library Function Finding Advisor
- השתמש ב-LAPACK Function Finding Advisor כדי לחקור שגרות LAPACK שימושיות לבעיה מסוימת. למשלample, אם אתה מציין פעולה כ:
- סוג שגרה: חישובי
- בעיה חישובית: פירוק אורתוגונלי
- סוג מטריצה: כללי
- תפעול: בצע פירוק QR
שלב 3: קשר את הקוד שלך
השתמש ב-oneMKL Link Line Advisor כדי להגדיר את פקודת הקישור בהתאם לתכונות התוכנית שלך.
כמה מגבלות ודרישות נוספות:
Intel® oneAPI Math Kernel Library עבור DPC++ תומכת רק בשימוש בספריית הממשק mkl_intel_ilp64 ובשרשור רציף או TBB.
עבור ממשקי DPC++ עם קישור סטטי בלינוקס
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++ עם קישור דינמי בלינוקס
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 -lOpenCL -ltbb -lpthread -ld
עבור ממשקי 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_core.lib sycl_tbb_core.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 mkl_tbb_libread.dll .lib sycl.lib OpenCL.lib
עבור ממשקי C/Fortran עם תמיכה ב-OpenMP Offload
השתמש בממשקי C/Fotran Intel® oneAPI Math Kernel Library עם תכונת ההורדה של OpenMP ל-GPU.
עיין במדריך למפתחי C OpenMP Offload לפרטים נוספים על תכונה זו.
הוסף את השינויים הבאים לקווי ההידור/קישור של C/Fortran oneMKL כדי לאפשר את תכונת ההורדה של OpenMP ל-GPU:
- אפשרויות קומפיל/קישור נוספות: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
- ספריית oneMKL נוספת: ספריית oneMKL DPC++
למשלample, בניית/קישור דינמי של main.cpp בלינוקס עם ממשקי ilp64 והשרשור של OpenMP:
icx -fiopenmp -fopenmp-targets=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 Advisor.
מצא עוד
משאב: תיאור
מדריך: שימוש בספריית ליבת מתמטיקה של Intel® oneAPI עבור כפל מטריקס:
- הדרכה – שפת C
- הדרכה - שפת Fortran
מדריך זה מדגים כיצד ניתן להשתמש ב-oneMKL כדי להכפיל מטריצות, למדוד את הביצועים של כפל מטריצה ולשלוט בהשרשור.
Intel® oneAPI Math Kernel Library (oneMKL) הערות מהדורה בקרה.
הערות השחרור מכילות מידע ספציפי למהדורה האחרונה של oneMKL כולל תכונות חדשות ושונות. הערות השחרור כוללות קישורים למשאבי מידע מקוונים עיקריים הקשורים לשחרור. תוכל למצוא מידע גם על:
- מה חדש במהדורה
- תכולת המוצר
- קבלת תמיכה טכנית
- הגדרות רישיון
ספריית ליבת מתמטיקה של Intel® oneAPI
דף המוצר של Intel® oneAPI Math Kernel Library (oneMKL). עיין בדף זה לתמיכה ותיעוד מקוון.
ספר הבישול של Intel® oneAPI Math Kernel Library
ספריית Intel® oneAPI Math Kernel מכילה שגרות רבות שיעזרו לך לפתור בעיות מספריות שונות, כגון הכפלת מטריצות, פתרון מערכת משוואות וביצוע טרנספורמציה פורייה.
הערות עבור Intel® oneAPI Math Kernel Library Statistics
מסמך זה כולל מעלview, מודל שימוש ותוצאות בדיקה של מחוללי מספרים אקראיים הכלולים ב-VS.
Intel® oneAPI Math Kernel Library נתוני ביצועים של מחולל מספרים אקראיים
נתוני ביצועים המתקבלים באמצעות מחולל מספרים אקראיים וקטוריים (VS) כולל CPE (שעונים לכל אלמנט) יחידת מידה, מחוללי מספרים אקראיים בסיסיים (BRNG), מחוללי הפצה שנוצרו ואורך הוקטורים שנוצרו.
Intel® oneAPI Math Kernel Library נתוני מתמטיקה וקטורית ביצועים ודיוק
וקטור מתמטיקה (VM) מחשבת פונקציות יסודיות על ארגומנטים וקטוריים. VM כולל קבוצה של יישומים אופטימליים ביותר של פונקציות ליבה מתמטיות יקרות מבחינה חישובית (כוח, טריגונומטרי, אקספוננציאלי, היפרבולי ואחרות) הפועלות על וקטורים.
הערות יישומים עבור Intel® oneAPI Math Kernel Library סטטיסטיקות סיכום
סטטיסטיקה סיכום היא רכיב משנה של תחום סטטיסטיקה וקטורית של ספריית ליבת מתמטיקה של Intel® oneAPI. סיכום סטטיסטיקה מספקת לך פונקציות לניתוח סטטיסטי ראשוני, ומציעה פתרונות לעיבוד מקביל של מערכי נתונים רב מימדיים.
LAPACK דוגמהamples
מסמך זה מספק קוד למשלamples עבור שגרות oneMKL LAPACK (חבילת אלגברה לינארית).
הודעות וכתבי ויתור
ייתכן שהתוכנה ועומסי העבודה המשמשים במבחני ביצועים עברו אופטימיזציה לביצועים רק במעבדי אינטל. מבחני ביצועים, כגון SYSmark ו-MobileMark, נמדדים באמצעות מערכות מחשב, רכיבים, תוכנות, פעולות ופונקציות ספציפיות. כל שינוי באחד מהגורמים הללו עלול לגרום לתוצאות להשתנות. עליך להתייעץ עם מידע אחר ומבחני ביצועים כדי לסייע לך בהערכה מלאה של הרכישות הרצויות שלך, כולל הביצועים של מוצר זה בשילוב עם מוצרים אחרים. למידע מלא יותר בקר www.intel.com/benchmarks.
טכנולוגיות אינטל עשויות לדרוש הפעלת חומרה, תוכנה או שירות מופעלות.
שום מוצר או רכיב לא יכולים להיות מאובטחים לחלוטין.
העלויות והתוצאות שלך עשויות להשתנות.
© Intel Corporation. Intel, הלוגו של Intel וסימני Intel אחרים הם סימנים מסחריים של Intel Corporation או של חברות הבת שלה. ניתן לתבוע שמות ומותגים אחרים כרכושם של אחרים.
מידע על מוצר וביצועים
הביצועים משתנים לפי שימוש, תצורה וגורמים אחרים. למידע נוסף ב www.Intel.com/PerformanceIndex.
הודעה על עדכון מס' 20201201
מסמך זה אינו מעניק רישיון (מפורש או משתמע, בהסכמה או בכל דרך אחרת) לזכויות קניין רוחני כלשהן.
המוצרים המתוארים עשויים להכיל פגמים בתכנון או שגיאות הידועות כ-errata אשר עלולות לגרום למוצר לסטות מהמפרטים שפורסמו. שגיאות מאופיינות עדכניות זמינות על פי בקשה.
אינטל מתנערת מכל אחריות מפורשת ומשתמעת, לרבות, ללא הגבלה, האחריות המשתמעת של סחירות, התאמה למטרה מסוימת ואי-הפרה, כמו גם כל אחריות הנובעת ממהלך הביצוע, מהלך העסקה או השימוש במסחר.
מסמכים / משאבים
![]() |
intel oneAPI Math Kernel Library [pdfמדריך למשתמש oneAPI Math Kernel Library, Math Kernel ספריית, ספריית ליבה, ספריה |