intel-λογότυπο

Intel oneAPI Math Kernel Library

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

Ξεκινήστε με τη Βιβλιοθήκη Math Kernel της Intel® oneAPI

Η βιβλιοθήκη πυρήνα μαθηματικών Intel® oneAPI (oneMKL) σάς βοηθά να επιτύχετε τη μέγιστη απόδοση με μια βιβλιοθήκη μαθηματικών υπολογιστών με εξαιρετικά βελτιστοποιημένες, εκτενώς παραλληλισμένες ρουτίνες για CPU και GPU. Η βιβλιοθήκη διαθέτει διασυνδέσεις C και Fortran για τις περισσότερες ρουτίνες στη CPU και διεπαφές DPC++ για ορισμένες ρουτίνες τόσο στην CPU όσο και στην GPU. Μπορείτε να βρείτε ολοκληρωμένη υποστήριξη για πολλές μαθηματικές πράξεις σε διάφορες διεπαφές, όπως:

Για C και Fortran σε CPU

  • Γραμμική άλγεβρα
  • Γρήγοροι μετασχηματισμοί Fourier (FFT)
  • Διάνυσμα μαθηματικά
  • Άμεσοι και επαναληπτικοί αραιοί λύτες
  • Γεννήτριες τυχαίων αριθμών

Για DPC++ σε CPU και GPU (Ανατρέξτε στη Βιβλιοθήκη μαθηματικού πυρήνα Intel® oneAPI—Αναφορά προγραμματιστή για παράλληλες πληροφορίες C++ για περισσότερες λεπτομέρειες.)

  • Γραμμική άλγεβρα
    • ΜΠΛΑΣ
    • Επιλεγμένη λειτουργικότητα Sparse BLAS
    • Επιλεγμένη λειτουργικότητα LAPACK
  • Γρήγοροι μετασχηματισμοί Fourier (FFT)
    • 1D, 2D και 3D
  • Γεννήτριες τυχαίων αριθμών
    • Επιλεγμένη λειτουργικότητα
  • Επιλεγμένη λειτουργικότητα Vector Math

Πριν ξεκινήσετε
Επισκεφτείτε τη σελίδα Σημειώσεις Έκδοσης για τα Γνωστά Ζητήματα και τις πιο ενημερωμένες πληροφορίες.
Επισκεφτείτε τη σελίδα Απαιτήσεις συστήματος της βιβλιοθήκης μαθηματικού πυρήνα της Intel® oneAPI για τις απαιτήσεις συστήματος.
Επισκεφτείτε το Ξεκινήστε με τον μεταγλωττιστή Intel® oneAPI DPC++/C++ για τις απαιτήσεις του μεταγλωττιστή DPC++.

Βήμα 1: Εγκαταστήστε το Intel® oneAPI Math Kernel Library
Πραγματοποιήστε λήψη του Intel® oneAPI Math Kernel Library από το Intel® OneAPI Base Toolkit.
Για διανομές Python, ανατρέξτε στην ενότητα Εγκατάσταση της διανομής Intel® για τις βιβλιοθήκες Python* και Intel® Performance με pip και PyPI.
Για διανομές Python, σημειώστε τον ακόλουθο περιορισμό:
Το πακέτο ανάπτυξης oneMKL (mkl-devel) για διανομή PIP σε Linux* και macOS* δεν παρέχει συμβολικούς συνδέσμους δυναμικών βιβλιοθηκών (για περισσότερες πληροφορίες, ανατρέξτε στο τεύχος #5919 του PIP GitHub).
Στην περίπτωση σύνδεσης δυναμικής ή μεμονωμένης δυναμικής βιβλιοθήκης με πακέτο ανάπτυξης oneMKL (για περισσότερες πληροφορίες, ανατρέξτε στο oneMKL Link Line Advisor ) πρέπει να τροποποιήσετε τη γραμμή συνδέσμων με τα πλήρη ονόματα και τις εκδόσεις των βιβλιοθηκών oneMKL.
Ανατρέξτε στο Intel® oneAPI Math Kernel Library και στο εργαλείο pkg-config για πληροφορίες σχετικά με τη μεταγλώττιση και τη σύνδεση με το εργαλείο pkg-config.
Γραμμή συνδέσμου oneMKL π.χample με το 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
    -lm -ldl
    Η γραμμή σύνδεσης 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 -liomp5 -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 Developer Guide for Linux*
oneMKL Developer Guide for Windows*
oneMKL Οδηγός προγραμματιστή για macOS*

Ο Οδηγός προγραμματιστή περιέχει λεπτομερείς πληροφορίες για διάφορα θέματα όπως:

  • Μεταγλώττιση και σύνδεση εφαρμογών
  • Δημιουργία προσαρμοσμένων DLL
  • Σπείρωμα
  • Διαχείριση μνήμης

Αναφορά προγραμματιστή oneMKL – C
Γλώσσα oneMKL Αναφορά προγραμματιστή – Γλώσσα Fortran
Αναφορά προγραμματιστή 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++ με στατική σύνδεση σε 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 threading:
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 -bbblpCLadread -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_tbb_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:
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_bbll.mbllre. .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 σε Linux με διεπαφές 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 Line Advisor.

Βρείτε περισσότερα

Πηγή: Περιγραφή

Εκμάθηση: Χρήση της βιβλιοθήκης μαθηματικού πυρήνα της Intel® oneAPI για πολλαπλασιασμό μήτρας:

  • Φροντιστήριο – Γλώσσα Γ
  • Φροντιστήριο – Fortran Language

Αυτό το σεμινάριο δείχνει πώς μπορείτε να χρησιμοποιήσετε το oneMKL για να πολλαπλασιάσετε πίνακες, να μετρήσετε την απόδοση του πολλαπλασιασμού πινάκων και να ελέγξετε το threading.

Intel® oneAPI Math Kernel Library (oneMKL) Release Notes έλεγχος νημάτων.
Οι σημειώσεις έκδοσης περιέχουν πληροφορίες ειδικά για την πιο πρόσφατη έκδοση του oneMKL, συμπεριλαμβανομένων νέων και αλλαγμένων λειτουργιών. Οι σημειώσεις έκδοσης περιλαμβάνουν συνδέσμους προς βασικούς διαδικτυακούς πόρους πληροφοριών που σχετίζονται με την κυκλοφορία. Μπορείτε επίσης να βρείτε πληροφορίες για:

  • Τι νέο υπάρχει στην κυκλοφορία
  • Περιεχόμενα προϊόντος
  • Λήψη τεχνικής υποστήριξης
  • Ορισμοί αδειών

Intel® oneAPI Math Kernel Library
Η σελίδα προϊόντος Intel® oneAPI Math Kernel Library (oneMKL). Δείτε αυτήν τη σελίδα για υποστήριξη και ηλεκτρονική τεκμηρίωση.

Βιβλίο μαγειρικής της Intel® oneAPI Math Kernel Library
Η Βιβλιοθήκη Math Kernel της Intel® oneAPI περιέχει πολλές ρουτίνες για να σας βοηθήσει να λύσετε διάφορα αριθμητικά προβλήματα, όπως πολλαπλασιασμό πινάκων, επίλυση συστήματος εξισώσεων και εκτέλεση μετασχηματισμού Fourier.

Σημειώσεις για τα διανυσματικά στατιστικά της βιβλιοθήκης πυρήνα του Intel® oneAPI
Αυτό το έγγραφο περιλαμβάνει ένα overview, ένα μοντέλο χρήσης και αποτελέσματα δοκιμής γεννητριών τυχαίων αριθμών που περιλαμβάνονται στο VS.

Intel® oneAPI Math Kernel Library Vector Statistics Δεδομένα απόδοσης γεννήτριας τυχαίων αριθμών
Δεδομένα απόδοσης που ελήφθησαν χρησιμοποιώντας στατιστικές διανυσμάτων (VS) γεννήτρια τυχαίων αριθμών (RNG) συμπεριλαμβανομένης της μονάδας μέτρησης CPE (ρολόγια ανά στοιχείο), βασικές γεννήτριες τυχαίων αριθμών (BRNG), γεννήτριες δημιουργούμενων κατανομών και μήκος των παραγόμενων διανυσμάτων.

Intel® oneAPI Math Kernel Library Vector Mathematics Performance and Accuracy Data
Το Vector Mathematics (VM) υπολογίζει στοιχειώδεις συναρτήσεις σε διανυσματικά ορίσματα. Το VM περιλαμβάνει ένα σύνολο εξαιρετικά βελτιστοποιημένων εφαρμογών υπολογιστικά ακριβών βασικών μαθηματικών συναρτήσεων (ισχύς, τριγωνομετρική, εκθετική, υπερβολική και άλλες) που λειτουργούν σε διανύσματα.

Σημειώσεις εφαρμογής για Περίληψη στατιστικών στοιχείων βιβλιοθήκης μαθηματικού πυρήνα Intel® oneAPI
Το Summary Statistics είναι ένα υποσυστατικό του τομέα Vector Statistics της Βιβλιοθήκης Math Kernel της Intel® oneAPI. Το Summary Statistics σάς παρέχει λειτουργίες για αρχική στατιστική ανάλυση και προσφέρει λύσεις για παράλληλη επεξεργασία πολυδιάστατων συνόλων δεδομένων.

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
Καμία άδεια (ρητή ή σιωπηρή, με estoppel ή με άλλο τρόπο) για δικαιώματα πνευματικής ιδιοκτησίας δεν χορηγείται από αυτό το έγγραφο.
Τα προϊόντα που περιγράφονται ενδέχεται να περιέχουν σχεδιαστικά ελαττώματα ή σφάλματα γνωστά ως λάθη που μπορεί να προκαλέσουν απόκλιση του προϊόντος από τις δημοσιευμένες προδιαγραφές. Τα τρέχοντα χαρακτηρισμένα σφάλματα είναι διαθέσιμα κατόπιν αιτήματος.
Η Intel αποποιείται κάθε ρητής και σιωπηρής εγγύησης, συμπεριλαμβανομένων χωρίς περιορισμό, των σιωπηρών εγγυήσεων εμπορευσιμότητας, καταλληλότητας για συγκεκριμένο σκοπό και μη παραβίασης, καθώς και οποιασδήποτε εγγύησης που προκύπτει από την πορεία απόδοσης, την πορεία συναλλαγής ή τη χρήση στο εμπόριο.

Έγγραφα / Πόροι

Intel oneAPI Math Kernel Library [pdf] Οδηγός χρήστη
oneAPI Math Kernel Library, Math Kernel Library, Kernel Library, Library

Αναφορές

Αφήστε ένα σχόλιο

Η διεύθυνση email σας δεν θα δημοσιευτεί. Τα υποχρεωτικά πεδία επισημαίνονται *