intel oneAPI მათემატიკის ბირთვის ბიბლიოთეკა
დაიწყეთ Intel® OneAPI მათემატიკის ბირთვის ბიბლიოთეკა
Intel® oneAPI მათემატიკის ბირთვის ბიბლიოთეკა (oneMKL) გეხმარებათ მიაღწიოთ მაქსიმალურ შესრულებას მათემატიკური გამოთვლითი ბიბლიოთეკით, რომელიც შეიცავს უაღრესად ოპტიმიზირებული, ფართოდ პარალელიზებული რუტინების პროცესორს და GPU-ს. ბიბლიოთეკას აქვს C და Fortran ინტერფეისები CPU-ის რუტინების უმეტესობისთვის და DPC++ ინტერფეისები ზოგიერთი რუტინისთვის, როგორც CPU-ზე, ასევე GPU-ზე. თქვენ შეგიძლიათ იპოვოთ ყოვლისმომცველი მხარდაჭერა რამდენიმე მათემატიკური ოპერაციისთვის სხვადასხვა ინტერფეისებში, მათ შორის:
C და Fortran-ისთვის CPU-ზე
- ხაზოვანი ალგებრა
- სწრაფი ფურიეს ტრანსფორმაციები (FFT)
- ვექტორული მათემატიკა
- პირდაპირი და განმეორებითი იშვიათი ამომხსნელები
- შემთხვევითი რიცხვების გენერატორები
CPU-ზე და GPU-ზე DPC++-ისთვის (დამატებითი ინფორმაციისთვის იხილეთ Intel® oneAPI Math Kernel Library — მონაცემთა პარალელური C++ დეველოპერის მითითება).
- ხაზოვანი ალგებრა
- BLAS
- არჩეული Sparse BLAS ფუნქციონალობა
- არჩეული LAPACK ფუნქცია
- სწრაფი ფურიეს ტრანსფორმაციები (FFT)
- 1D, 2D და 3D
- შემთხვევითი რიცხვების გენერატორები
- შერჩეული ფუნქციონირება
- არჩეული ვექტორის მათემატიკის ფუნქცია
სანამ დაიწყებ
ეწვიეთ გამოშვების შენიშვნების გვერდს ცნობილი საკითხებისა და უახლესი ინფორმაციისთვის.
ეწვიეთ Intel® OneAPI Math Kernel Library სისტემის მოთხოვნების გვერდს სისტემის მოთხოვნებისთვის.
ეწვიეთ დაწყებას Intel® OneAPI DPC++/C++ შემდგენელთან DPC++ შემდგენელის მოთხოვნებისთვის.
ნაბიჯი 1: დააინსტალირეთ Intel® OneAPI Math Kernel Library
ჩამოტვირთეთ Intel® oneAPI მათემატიკის ბირთვის ბიბლიოთეკა Intel® oneAPI საბაზისო ხელსაწყოთა ნაკრებიდან.
Python დისტრიბუციისთვის იხილეთ Intel® Distribution-ის ინსტალაცია Python* და Intel® Performance ბიბლიოთეკებისთვის pip და PyPI-ით.
პითონის განაწილებისთვის, გაითვალისწინეთ შემდეგი შეზღუდვა:
OneMKL განვითარების პაკეტი (mkl-devel) PIP განაწილებისთვის Linux* და macOS*-ზე არ იძლევა დინამიური ბიბლიოთეკების სიმბოლურ ბმულებს (დამატებითი ინფორმაციისთვის იხილეთ PIP GitHub ნომერი #5919).
დინამიური ან ერთი დინამიური ბიბლიოთეკის დაკავშირების შემთხვევაში oneMKL დეველოპერის პაკეტთან (დამატებითი ინფორმაციისთვის იხილეთ oneMKL Link Line Advisor ) თქვენ უნდა შეცვალოთ ბმული ხაზი oneMKL ბიბლიოთეკების სრული სახელებითა და ვერსიებით.
იხილეთ Intel® oneAPI მათემატიკის ბირთვის ბიბლიოთეკა და pkg-config ინსტრუმენტი pkg-config ხელსაწყოს შედგენისა და დაკავშირების შესახებ ინფორმაციისთვის.
oneMKL ბმული ხაზი ყოფილიampერთად oneAPI Base Toolkit სიმბოლური ბმულების საშუალებით:
- Linux:
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
-ლმ -ლდლ
OneMKL ბმული ხაზი ყოფილიample 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 -lplopread5 -ლმ -ლდლ - 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 დეველოპერის სახელმძღვანელო Linux-ისთვის*
oneMKL დეველოპერის სახელმძღვანელო Windows-ისთვის*
oneMKL დეველოპერის სახელმძღვანელო macOS-ისთვის*
დეველოპერის სახელმძღვანელო შეიცავს დეტალურ ინფორმაციას რამდენიმე თემაზე, მათ შორის:
- აპლიკაციების შედგენა და დაკავშირება
- პერსონალური DLL-ების შექმნა
- ძაფები
- მეხსიერების მენეჯმენტი
oneMKL დეველოპერის მითითება – C
ენა oneMKL დეველოპერის მითითება – Fortran Language
oneMKL დეველოპერის მითითება – DPC++ ენა
- დეველოპერის მითითება (C, Fortran და DPC++ ფორმატებში) შეიცავს ბიბლიოთეკის ყველა დომენის ფუნქციებისა და ინტერფეისების დეტალურ აღწერას.
Intel® oneAPI მათემატიკის ბირთვის ბიბლიოთეკის ფუნქციის პოვნის მრჩეველი
- გამოიყენეთ LAPACK ფუნქციის ძიების მრჩეველი, რათა შეისწავლოთ LAPACK რუტინები, რომლებიც სასარგებლოა კონკრეტული პრობლემისთვის. მაგample, თუ თქვენ მიუთითებთ ოპერაციას, როგორც:
- რუტინის ტიპი: გამოთვლითი
- გამოთვლითი ამოცანა: ორთოგონალური ფაქტორიზაცია
- მატრიცის ტიპი: ზოგადი
- ოპერაცია: შეასრულეთ QR ფაქტორიზაცია
ნაბიჯი 3: დააკავშირეთ თქვენი კოდი
გამოიყენეთ oneMKL Link Line Advisor ბმულის ბრძანების კონფიგურაციისთვის თქვენი პროგრამის მახასიათებლების მიხედვით.
ზოგიერთი შეზღუდვა და დამატებითი მოთხოვნები:
Intel® oneAPI მათემატიკის ბირთვის ბიბლიოთეკა DPC++-ისთვის მხარდაჭერილია მხოლოდ mkl_intel_ilp64 ინტერფეისის ბიბლიოთეკისა და თანმიმდევრული ან TBB threading-ის გამოყენებით.
DPC++ ინტერფეისებისთვის სტატიკური კავშირით Linux-ზე
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 ${MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–სტარტ-ჯგუფი ${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 threading-ს:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I${MKLROOT}/include main.cpp $
{MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–სტარტ-ჯგუფი ${MKLROOT}/lib/intel64/
libmkl_intel_ilp64.a ${MKLROOT}/lib/intel64/libmkl_tbb_thread.a ${MKLROOT}/lib/intel64/
libmkl_core.a -Wl,–ბოლო ჯგუფი -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 threading-ს:
icpx -fsycl -DMKL_ILP64 -I${MKLROOT}/include main.cpp -L${MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_tbb_thread -lmkl_core -lsycl -bbbllt -lOpenlplmread -lOpen
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 threading-ს:
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_libad symcl_thre. .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 threading-ს:
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_dllbdll.mbllre. .lib sycl.lib OpenCL.lib
C/Fortran ინტერფეისებისთვის OpenMP Offload მხარდაჭერით
გამოიყენეთ C/Fotran Intel® OneAPI მათემატიკის ბირთვის ბიბლიოთეკის ინტერფეისები 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 Linux-ზე ilp64 ინტერფეისებით და OpenMP threading-ით:
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 Line Advisor.
იპოვე მეტი
რესურსი: აღწერა
სახელმძღვანელო: Intel® oneAPI მათემატიკის ბირთვის ბიბლიოთეკის გამოყენება მატრიცის გამრავლებისთვის:
- სახელმძღვანელო – C ენა
- ტუტორიალი – Fortran Language
ეს სახელმძღვანელო გვიჩვენებს, თუ როგორ შეგიძლიათ გამოიყენოთ oneMKL მატრიცების გასამრავლებლად, მატრიცის გამრავლების ეფექტურობის გასაზომად და ძაფების გასაკონტროლებლად.
Intel® oneAPI მათემატიკის ბირთვის ბიბლიოთეკა (oneMKL) გამოშვების შენიშვნების კონტროლი threading.
გამოშვების შენიშვნები შეიცავს ინფორმაციას oneMKL-ის უახლესი გამოშვებისთვის, ახალი და შეცვლილი ფუნქციების ჩათვლით. გამოშვების შენიშვნები შეიცავს ბმულებს გამოშვებასთან დაკავშირებულ ძირითად ონლაინ საინფორმაციო რესურსებთან. თქვენ ასევე შეგიძლიათ იპოვოთ ინფორმაცია:
- რა არის ახალი გამოშვებაში
- პროდუქტის შინაარსი
- ტექნიკური დახმარების მიღება
- ლიცენზიის განმარტებები
Intel® oneAPI მათემატიკის ბირთვის ბიბლიოთეკა
Intel® oneAPI Math Kernel Library (oneMKL) პროდუქტის გვერდი. იხილეთ ეს გვერდი მხარდაჭერისა და ონლაინ დოკუმენტაციისთვის.
Intel® oneAPI Math Kernel Library Cookbook
Intel® oneAPI მათემატიკის ბირთვის ბიბლიოთეკა შეიცავს ბევრ რუტინას, რომელიც დაგეხმარებათ გადაჭრათ სხვადასხვა რიცხვითი ამოცანები, როგორიცაა მატრიცების გამრავლება, განტოლებათა სისტემის ამოხსნა და ფურიეს ტრანსფორმაციის შესრულება.
შენიშვნები Intel® oneAPI მათემატიკის ბირთვის ბიბლიოთეკის ვექტორული სტატისტიკისთვის
ეს დოკუმენტი მოიცავს ზედსview, VS-ში ჩართული შემთხვევითი რიცხვების გენერატორების გამოყენების მოდელი და ტესტირების შედეგები.
Intel® oneAPI Math Kernel Library ვექტორული სტატისტიკა შემთხვევითი რიცხვების გენერატორის მუშაობის მონაცემები
შესრულების მონაცემები მიღებული ვექტორული სტატისტიკის (VS) შემთხვევითი რიცხვების გენერატორის (RNG) გამოყენებით, მათ შორის CPE (საათები ელემენტზე) საზომი ერთეული, ძირითადი შემთხვევითი რიცხვების გენერატორები (BRNG), გენერირებული განაწილების გენერატორები და გენერირებული ვექტორების სიგრძე.
Intel® oneAPI მათემატიკის ბირთვის ბიბლიოთეკის ვექტორული მათემატიკის შესრულების და სიზუსტის მონაცემები
ვექტორული მათემატიკა (VM) ითვლის ელემენტარულ ფუნქციებს ვექტორულ არგუმენტებზე. VM მოიცავს გამოთვლებით ძვირადღირებული ძირითადი მათემატიკური ფუნქციების (ძალა, ტრიგონომეტრიული, ექსპონენციალური, ჰიპერბოლური და სხვა) უაღრესად ოპტიმიზებული განხორციელებების ერთობლიობას, რომლებიც მოქმედებენ ვექტორებზე.
განაცხადის შენიშვნები Intel® oneAPI მათემატიკის ბირთვის ბიბლიოთეკის შემაჯამებელი სტატისტიკისთვის
შემაჯამებელი სტატისტიკა არის Intel® oneAPI მათემატიკის ბირთვის ბიბლიოთეკის ვექტორული სტატისტიკის დომენის ქვეკომპონენტი. შემაჯამებელი სტატისტიკა გაძლევთ ფუნქციებს საწყისი სტატისტიკური ანალიზისთვის და გთავაზობთ გადაწყვეტილებებს მრავალგანზომილებიანი მონაცემთა ნაკრების პარალელური დამუშავებისთვის.
LAPACK მაგamples
ეს დოკუმენტი შეიცავს კოდს მაგamples oneMKL LAPACK (ხაზოვანი ალგებრის პაკეტი) რუტინებისთვის.
შეტყობინებები და პასუხისმგებლობის შეზღუდვები
შესრულების ტესტებში გამოყენებული პროგრამული უზრუნველყოფა და სამუშაო დატვირთვა შესაძლოა ოპტიმიზირებული იყოს მხოლოდ Intel მიკროპროცესორებზე მუშაობისთვის. შესრულების ტესტები, როგორიცაა SYSmark და MobileMark, იზომება კონკრეტული კომპიუტერული სისტემების, კომპონენტების, პროგრამული უზრუნველყოფის, ოპერაციებისა და ფუნქციების გამოყენებით. ამ ფაქტორების ნებისმიერმა ცვლილებამ შეიძლება გამოიწვიოს შედეგების ცვალებადობა. თქვენ უნდა მიმართოთ სხვა ინფორმაციას და შესრულების ტესტებს, რათა დაგეხმაროთ სრულად შეაფასოთ თქვენი დაგეგმილი შესყიდვები, მათ შორის ამ პროდუქტის ეფექტურობა სხვა პროდუქტებთან ერთად. უფრო სრულყოფილი ინფორმაციისთვის ეწვიეთ www.intel.com/benchmarks.
Intel ტექნოლოგიებმა შეიძლება მოითხოვონ ჩართული აპარატურა, პროგრამული უზრუნველყოფა ან მომსახურების გააქტიურება.
არცერთი პროდუქტი ან კომპონენტი არ შეიძლება იყოს აბსოლუტურად უსაფრთხო.
თქვენი ხარჯები და შედეგები შეიძლება განსხვავდებოდეს.
© Intel Corporation. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. სხვა სახელები და ბრენდები შეიძლება მოითხოვონ, როგორც სხვების საკუთრება.
ინფორმაცია პროდუქტისა და შესრულების შესახებ
შესრულება განსხვავდება გამოყენების, კონფიგურაციისა და სხვა ფაქტორების მიხედვით. შეიტყვეთ მეტი აქ www.Intel.com/PerformanceIndex.
გაფრთხილების რევიზია #20201201
ამ დოკუმენტით არანაირი ლიცენზია (გამოხატული ან ნაგულისხმევი, ესტოპელის ან სხვაგვარად) რაიმე ინტელექტუალური საკუთრების უფლებაზე არ არის გაცემული.
აღწერილი პროდუქტები შეიძლება შეიცავდეს დიზაინის დეფექტებს ან შეცდომებს, რომლებიც ცნობილია როგორც შეცდომა, რამაც შეიძლება გამოიწვიოს პროდუქტის გადახრა გამოქვეყნებული სპეციფიკაციებისგან. მიმდინარე დახასიათებული შეცდომები ხელმისაწვდომია მოთხოვნით.
Intel უარს ამბობს ყველა მკაფიო და ნაგულისხმევ გარანტიებზე, მათ შორის, შეუზღუდავად, ნაგულისხმევი გარანტიები ვაჭრობის, კონკრეტული მიზნისთვის ვარგისიანობისა და არადარღვევის შესახებ, ისევე როგორც ნებისმიერი გარანტია, რომელიც წარმოიქმნება შესრულების კურსიდან, გარიგების კურსიდან ან ვაჭრობაში გამოყენებისგან.
დოკუმენტები / რესურსები
![]() |
intel oneAPI მათემატიკის ბირთვის ბიბლიოთეკა [pdf] მომხმარებლის სახელმძღვანელო oneAPI Math Kernel Library, Math Kernel Library, Kernel Library, Library |