intel-logo

intel oneAPI गणित कर्नेल पुस्तकालय

intel-oneAPI-Math-Kernel-Library-product-image

Intel® oneAPI गणित कर्नेल लाइब्रेरीको साथ सुरू गर्नुहोस्

Intel® oneAPI Math Kernel Library (oneMKL) ले तपाईंलाई CPU र GPU को लागि उच्च अनुकूलित, व्यापक रूपमा समानान्तर दिनचर्याहरूको गणित कम्प्युटिङ लाइब्रेरीको साथ अधिकतम प्रदर्शन प्राप्त गर्न मद्दत गर्दछ। पुस्तकालयमा CPU मा धेरै दिनचर्याहरूका लागि C र Fortran इन्टरफेसहरू छन्, र CPU र GPU दुवैमा केही दिनचर्याहरूको लागि DPC++ इन्टरफेसहरू छन्। तपाईले विभिन्न इन्टरफेसहरूमा धेरै गणित कार्यहरूको लागि व्यापक समर्थन पाउन सक्नुहुन्छ:

CPU मा C र Fortran को लागि

  • रैखिक बीजगणित
  • फास्ट फोरियर ट्रान्सफर्म्स (FFT)
  • भेक्टर गणित
  • प्रत्यक्ष र पुनरावृत्ति स्पार्स सॉल्भरहरू
  • अनियमित संख्या जनरेटरहरू

CPU र GPU मा DPC++ को लागि (थप विवरणहरूको लागि Intel® oneAPI गणित कर्नेल लाइब्रेरी—डेटा समानान्तर C++ विकासकर्ता सन्दर्भ हेर्नुहोस्।)

  • रैखिक बीजगणित
    • BLAS
    • चयन गरिएको स्पार्स BLAS कार्यक्षमता
    • चयन गरिएको LAPACK कार्यक्षमता
  • फास्ट फोरियर ट्रान्सफर्म्स (FFT)
    • 1D, 2D, र 3D
  • अनियमित संख्या जनरेटरहरू
    • चयन गरिएको कार्यक्षमता
  • चयन गरिएको भेक्टर गणित कार्यक्षमता

तपाईंले सुरु गर्नु अघि
ज्ञात मुद्दाहरू र सबैभन्दा अद्यावधिक जानकारीको लागि रिलीज नोट्स पृष्ठमा जानुहोस्।
प्रणाली आवश्यकताहरूको लागि Intel® oneAPI गणित कर्नेल पुस्तकालय प्रणाली आवश्यकताहरू पृष्ठमा जानुहोस्।
DPC++ कम्पाइलर आवश्यकताहरूको लागि Intel® oneAPI DPC++/C++ कम्पाइलरको साथ सुरु गर्नुहोस् मा जानुहोस्।

चरण 1: Intel® oneAPI गणित कर्नेल लाइब्रेरी स्थापना गर्नुहोस्
Intel® oneAPI बेस टूलकिटबाट Intel® oneAPI गणित कर्नेल लाइब्रेरी डाउनलोड गर्नुहोस्।
पाइथन वितरणको लागि, पाइथन* र Intel® प्रदर्शन पुस्तकालयहरूको लागि पाइप र PyPI को साथ Intel® वितरण स्थापना गर्ने सन्दर्भ गर्नुहोस्।
पाइथन वितरणको लागि, निम्न सीमालाई ध्यान दिनुहोस्:
Linux* र macOS* मा PIP वितरणको लागि OneMKL डेभल प्याकेज (mkl-devel) ले डायनामिक लाइब्रेरी सिम्लिङ्कहरू प्रदान गर्दैन (थप जानकारीको लागि PIP GitHub मुद्दा #5919 हेर्नुहोस्)।
OneMKL डेभल प्याकेजसँग डायनामिक वा एकल डायनामिक लाइब्रेरी लिङ्क गर्ने अवस्थामा (थप जानकारीको लागि oneMKL Link Line Advisor हेर्नुहोस्) तपाईंले OneMKL पुस्तकालयहरूको पूरा नाम र संस्करणहरूसँग लिङ्क लाइन परिमार्जन गर्नुपर्छ।
कम्पाइल गर्ने र pkg-config उपकरणसँग लिङ्क गर्ने बारे जानकारीको लागि Intel® oneAPI गणित कर्नेल लाइब्रेरी र pkg-config उपकरणलाई सन्दर्भ गर्नुहोस्।
oneMKL लिङ्क लाइन पूर्वampsymlinks मार्फत oneAPI बेस टूलकिटको साथमा:

  • लिनक्स:
    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 लिङ्क लाइन पूर्वampपुस्तकालयहरूको पूरा नाम र संस्करणहरू मार्फत PIP विकास प्याकेजको साथ: लिनक्स:
    icc app.obj ${MKLROOT}/lib/intel64/libmkl_intel_lp64.so.1 ${MKLROOT}/lib/intel64/libmkl_intel_thread.so.1 ${MKLROOT}/lib/intel64/libmkl_core -plith1mp. -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 विकासकर्ता गाइड*
Windows को लागि oneMKL विकासकर्ता गाइड*
macOS को लागि oneMKL विकासकर्ता गाइड*

विकासकर्ता गाइडले धेरै विषयहरूमा विस्तृत जानकारी समावेश गर्दछ:

  • कम्पाइल गर्दै र अनुप्रयोगहरू लिङ्क गर्दै
  • अनुकूलन DLL निर्माण गर्दै
  • थ्रेडिङ
  • मेमोरी व्यवस्थापन

oneMKL विकासकर्ता सन्दर्भ - C
भाषा oneMKL विकासकर्ता सन्दर्भ - फोर्टरान भाषा
oneMKL विकासकर्ता सन्दर्भ - DPC++ भाषा

  • विकासकर्ता सन्दर्भ (C, Fortran, र DPC++ ढाँचाहरूमा) ले सबै पुस्तकालय डोमेनहरूको लागि कार्यहरू र इन्टरफेसहरूको विस्तृत विवरण समावेश गर्दछ।

Intel® oneAPI गणित कर्नेल पुस्तकालय प्रकार्य खोज सल्लाहकार

  • विशेष समस्याको लागि उपयोगी LAPACK दिनचर्याहरू अन्वेषण गर्न LAPACK प्रकार्य खोजी सल्लाहकार प्रयोग गर्नुहोस्। पूर्वका लागिample, यदि तपाइँ एक अपरेशन निम्न रूपमा निर्दिष्ट गर्नुहुन्छ:
    • दिनचर्या प्रकार: कम्प्यूटेशनल
    • कम्प्यूटेशनल समस्या: अर्थोगोनल कारककरण
    • म्याट्रिक्स प्रकार: सामान्य
    • सञ्चालन: QR कारककरण प्रदर्शन गर्नुहोस्

चरण 3: तपाईंको कोड लिङ्क गर्नुहोस्
तपाइँको कार्यक्रम सुविधाहरू अनुसार लिङ्क आदेश कन्फिगर गर्न oneMKL लिङ्क लाइन सल्लाहकार प्रयोग गर्नुहोस्।
केही सीमाहरू र अतिरिक्त आवश्यकताहरू:
DPC++ को लागि Intel® oneAPI गणित कर्नेल लाइब्रेरीले 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, ilp64 इन्टरफेस र TBB थ्रेडिङ संग main.cpp लाई बिल्डिंग/स्ट्याटिकली लिंक गर्दै:
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, ilp64 इन्टरफेस र TBB थ्रेडिङ संग main.cpp लाई बिल्डिंग/डायनामिकली लिंक गर्दै:
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 -lbth -ld -ld

विन्डोजमा स्थिर लिङ्किङसँग DPC++ इन्टरफेसहरूको लागि
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, ilp64 इन्टरफेस र TBB थ्रेडिङ संग main.cpp लाई बिल्डिंग/स्ट्याटिकली लिंक गर्दै:
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_blith .lib OpenCL.lib tbb.lib

विन्डोजमा डायनामिक लिङ्किङसँग DPC++ इन्टरफेसहरूका लागि
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, ilp64 इन्टरफेस र TBB थ्रेडिङ संग main.cpp लाई बिल्डिंग/डायनामिकली लिंक गर्दै:
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.bll_kll_bll_dll .lib sycl.lib OpenCL.lib

OpenMP अफलोड समर्थनको साथ C/Fortran इन्टरफेसहरूको लागि
GPU मा OpenMP अफलोड सुविधाको साथ C/Fotran Intel® oneAPI गणित कर्नेल लाइब्रेरी इन्टरफेसहरू प्रयोग गर्नुहोस्।
यस सुविधाको बारेमा थप विवरणहरूको लागि C OpenMP अफलोड विकासकर्ता गाइड हेर्नुहोस्।
GPU मा OpenMP अफलोड सुविधा सक्षम गर्न C/Fortran oneMKL कम्पाइल/लिङ्क लाइनहरूमा निम्न परिवर्तनहरू थप्नुहोस्:

  • अतिरिक्त कम्पाइल/लिङ्क विकल्पहरू: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
  • अतिरिक्त oneMKL पुस्तकालय: oneMKL DPC++ पुस्तकालय

पूर्वका लागिample, ilp64 इन्टरफेस र OpenMP थ्रेडिङको साथ Linux मा main.cpp लाई निर्माण/ गतिशील रूपमा लिङ्क गर्दै:
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 गणित कर्नेल लाइब्रेरी लिङ्क लाइन सल्लाहकार हेर्नुहोस्।

थप फेला पार्नुहोस्

स्रोत: विवरण

ट्यूटोरियल: म्याट्रिक्स गुणनका लागि Intel® oneAPI गणित कर्नेल लाइब्रेरी प्रयोग गर्दै:

  • ट्यूटोरियल - सी भाषा
  • ट्यूटोरियल - फोर्ट्रान भाषा

यो ट्यूटोरियलले तपाइँ कसरी म्याट्रिक्स गुणा गर्न, म्याट्रिक्स गुणन को प्रदर्शन मापन गर्न, र थ्रेडिङ नियन्त्रण गर्न oneMKL प्रयोग गर्न सक्नुहुन्छ भनेर देखाउँछ।

Intel® oneAPI गणित कर्नेल लाइब्रेरी (oneMKL) रिलीज नोट्स नियन्त्रण थ्रेडिङ।
विमोचन नोटहरूमा नयाँ र परिवर्तन गरिएका सुविधाहरू सहित oneMKL को पछिल्लो रिलीजको लागि विशेष जानकारी समावेश छ। रिलीज नोटहरूमा रिलीजसँग सम्बन्धित प्रमुख अनलाइन जानकारी स्रोतहरूको लिङ्कहरू समावेश छन्। तपाईं पनि जानकारी पाउन सक्नुहुन्छ:

  • रिलीजमा नयाँ के छ
  • उत्पादन सामग्री
  • प्राविधिक सहयोग प्राप्त गर्दै
  • इजाजतपत्र परिभाषाहरू

Intel® oneAPI गणित कर्नेल पुस्तकालय
Intel® oneAPI गणित कर्नेल लाइब्रेरी (oneMKL) उत्पादन पृष्ठ। समर्थन र अनलाइन कागजातहरूको लागि यो पृष्ठ हेर्नुहोस्।

Intel® oneAPI गणित कर्नेल लाइब्रेरी कुकबुक
Intel® oneAPI गणित कर्नेल लाइब्रेरीले तपाईंलाई विभिन्न संख्यात्मक समस्याहरू समाधान गर्न मद्दत गर्नको लागि धेरै दिनचर्याहरू समावेश गर्दछ, जस्तै म्याट्रिक्सहरू गुणा गर्ने, समीकरणहरूको प्रणाली समाधान गर्ने, र फूरियर रूपान्तरण गर्ने।

Intel® oneAPI गणित कर्नेल लाइब्रेरी भेक्टर तथ्याङ्कका लागि नोटहरू
यो कागजातमा ओभर समावेश छview, VS मा समावेश अनियमित संख्या जनरेटरहरूको प्रयोग मोडेल र परीक्षण परिणामहरू।

Intel® oneAPI गणित कर्नेल पुस्तकालय भेक्टर तथ्याङ्क अनियमित संख्या जेनरेटर प्रदर्शन डाटा
भेक्टर तथ्याङ्क (VS) यादृच्छिक संख्या जनरेटर (RNG) को CPE (प्रति तत्व घडी) मापनको एकाइ, आधारभूत अनियमित संख्या जनरेटरहरू (BRNG), उत्पन्न वितरण जेनेरेटरहरू, र उत्पन्न भेक्टरहरूको लम्बाइ सहित भेक्टर तथ्याङ्कहरू (VS) प्रयोग गरेर प्राप्त प्रदर्शन डेटा।

Intel® oneAPI गणित कर्नेल पुस्तकालय भेक्टर गणित प्रदर्शन र शुद्धता डाटा
भेक्टर गणित (VM) ले भेक्टर तर्कहरूमा प्राथमिक कार्यहरू गणना गर्दछ। VM ले भेक्टरहरूमा काम गर्ने कम्प्युटेसनली महँगो कोर गणितीय कार्यहरू (शक्ति, त्रिकोणमितीय, घातांक, हाइपरबोलिक, र अन्य) को उच्च अनुकूलित कार्यान्वयनहरूको सेट समावेश गर्दछ।

Intel® oneAPI गणित कर्नेल लाइब्रेरी सारांश तथ्याङ्कका लागि आवेदन नोटहरू
सारांश तथ्याङ्क Intel® oneAPI गणित कर्नेल पुस्तकालयको भेक्टर तथ्याङ्क डोमेनको उपकम्पोनेन्ट हो। सारांश तथ्याङ्कले तपाईंलाई प्रारम्भिक सांख्यिकीय विश्लेषणका लागि कार्यहरू प्रदान गर्दछ, र बहु-आयामी डेटासेटहरूको समानान्तर प्रशोधनका लागि समाधानहरू प्रदान गर्दछ।

LAPACK पूर्वampलेस
यो कागजातले कोड पूर्व प्रदान गर्दछamponeMKL LAPACK (रैखिक बीजगणित प्याकेज) दिनचर्याका लागि।

सूचनाहरू र अस्वीकरणहरू
प्रदर्शन परीक्षणहरूमा प्रयोग गरिएका सफ्टवेयर र वर्कलोडहरू इन्टेल माइक्रोप्रोसेसरहरूमा मात्र प्रदर्शनको लागि अनुकूलित गरिएको हुन सक्छ। SYSmark र MobileMark जस्ता कार्यसम्पादन परीक्षणहरू विशिष्ट कम्प्युटर प्रणाली, कम्पोनेन्टहरू, सफ्टवेयर, सञ्चालन र कार्यहरू प्रयोग गरेर मापन गरिन्छ। ती कारकहरू मध्ये कुनै पनि परिवर्तनले परिणामहरू फरक हुन सक्छ। तपाईंले अन्य जानकारी र कार्यसम्पादन परीक्षणहरू परामर्श गर्नुपर्छ जुन तपाईंलाई अन्य उत्पादनहरूसँग जोड्दा त्यस उत्पादनको कार्यसम्पादन सहित आफ्नो विचारित खरिदहरूको पूर्ण मूल्याङ्कन गर्न मद्दत गर्नुपर्दछ। थप पूर्ण जानकारीको लागि भ्रमण गर्नुहोस् www.intel.com/benchmarks.
इंटेल टेक्नोलोजीहरूले सक्षम हार्डवेयर, सफ्टवेयर वा सेवा सक्रियताको आवश्यक हुन सक्दछ।
कुनै पनि उत्पादन वा कम्पोनेन्ट पूर्ण रूपमा सुरक्षित हुन सक्दैन।
तपाईंको लागत र परिणाम फरक हुन सक्छ।
© इंटेल निगम। Intel, Intel लोगो, र अन्य Intel मार्कहरू Intel Corporation वा यसको सहायक कम्पनीहरूको ट्रेडमार्क हुन्। अन्य नाम र ब्रान्डहरू अरूको सम्पत्तिको रूपमा दाबी गर्न सकिन्छ।

उत्पादन र प्रदर्शन जानकारी
प्रदर्शन प्रयोग, कन्फिगरेसन र अन्य कारकहरू द्वारा भिन्न हुन्छ। मा थप जान्नुहोस् www.intel.com/perperpanandindeex.
सूचना संशोधन #20201201
यस कागजातद्वारा कुनै पनि बौद्धिक सम्पत्ति अधिकारको लागि कुनै इजाजतपत्र (व्यक्त वा निहित, एस्टोपेल वा अन्यथा) प्रदान गरिएको छैन।
वर्णन गरिएका उत्पादनहरूमा डिजाइन त्रुटिहरू वा त्रुटिहरू समावेश हुन सक्छन् जसलाई इरेटा भनिन्छ जसले उत्पादनलाई प्रकाशित विनिर्देशहरूबाट विचलित हुन सक्छ। हालको विशेषता इरेटा अनुरोधमा उपलब्ध छन्।
Intel ले सबै एक्सप्रेस र निहित वारेन्टीहरू अस्वीकृत गर्दछ, बिना सीमा, व्यापारिकताको निहित वारेन्टी, एक विशेष उद्देश्यको लागि फिटनेस, र गैर-उल्लंघन, साथै प्रदर्शनको पाठ्यक्रम, व्यवहारको पाठ्यक्रम, वा व्यापारमा प्रयोगबाट उत्पन्न हुने कुनै पनि वारेन्टी।

कागजातहरू / स्रोतहरू

intel oneAPI गणित कर्नेल पुस्तकालय [pdf] प्रयोगकर्ता गाइड
oneAPI गणित कर्नेल पुस्तकालय, गणित कर्नेल पुस्तकालय, कर्नेल पुस्तकालय, पुस्तकालय

सन्दर्भहरू

एक टिप्पणी छोड्नुहोस्

तपाईंको इमेल ठेगाना प्रकाशित गरिने छैन। आवश्यक क्षेत्रहरू चिन्ह लगाइएका छन् *