Download presentation
Presentation is loading. Please wait.
Published byEdwin Scot Potter Modified over 9 years ago
1
1 Intel Mathematics Kernel Library (MKL) Quickstart COLA Lab, Department of Mathematics, Nat’l Taiwan University 2010/05/11
2
2 Intel MKL Quickstart Credits Wei-Ren Chang 張為仁 (slides and codes, 2009/03/10) Lien-Chi Lai 賴鍊奇 (slides, 2010/05/11)
3
3 Intel MKL Quickstart A Brief Introduction
4
4 Intel MKL Quickstart Intel MKL: Intel Math Kernel Library Introduction Availability: Windows, Linux Functionality Dense and Sparse Linear Algebra: BLAS, LAPACK Sparse Solvers: Direct and Iterative Solvers Fast Fourier Transforms Cluster Support: ScaLAPACK, Cluster FFT Features and Benefits Automatic parallelization Standard APIs in C and Fortran
5
5 Intel MKL Quickstart User Guide MKL User Guide Installation Development Environment Configuration Performance and Memory Management Language-specific Usage Options Default documents directory /opt/intel/mkl/10.2.1.017/doc/userguide.pdf User Guide
6
6 Intel MKL Quickstart Reference Manual MKL Reference Manual The routines and functions description APIs in C and Fortran Interfaces and calling syntax Default documents directory /opt/intel/mkl/10.2.1.017/doc/mklman.pdf Reference Manual
7
7 Intel MKL Quickstart Some Examples
8
8 Intel MKL Quickstart Examples Brief examples to Compute Inner product (sequential) Compute the LU factorization of a matrix Solve linear system Solve eigen system Compute Inner product (parallel) Examples
9
9 Intel MKL Quickstart Directories containing the source codes mkl_blas_f95 (mkl_blas_c) mkl_lapack95_f95 (mkl_lapack95_c) mkl_linearsym_f95 (mkl_linearsym_c) mkl_eigensym_f95 (mkl_eigensym_c) mkl_blas_f95_p (mkl_blas_c_p) File names
10
10 Intel MKL Quickstart Inner product (sequential) Examples do ii = 1,n vec_a(ii) = 1.25*ii vec_b(ii) = 0.75*ii end do dot_result = ddot(n,vec_a,inca,vec_b,incb) Inner product
11
11 Intel MKL Quickstart Input parameters Inner product dot_result = ddot(n,vec_a,inca,vec_b,incb) n: The length of two vectors. inca: Specifies the increment for the elements of vec_a incb: Specifies the increment for the elements of vec_b vec_a: The fitsr vector vec_b: The second vector Input parameters
12
12 Intel MKL Quickstart Output parameters Inner product dot_result: The final result Output parameters
13
13 Intel MKL Quickstart Inner product (parallel) Examples Makefile clips FC=mpif90 MKL_INCLUDE =/opt/intel/mkl/10.0.3.020/include MKL_PATH =/opt/intel/mkl/10.0.3.020/lib/em64t EXE=blas_f95.exe blas_f: $(FC) -o $(EXE) blas_f.f90 -I$(MKL_INCLUDE) -L$(MKL_PATH) -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide -lpthread Inner product (parallel)
14
14 Intel MKL Quickstart LU factorization Examples Define the matrix a(1,1)= 1 a(1,2)= 3 a(2,1)= 2 a(2,2)= 1 Compute LU factorization call dgetrf(m,n,a,lda,ipiv,info) LU factorization
15
15 Intel MKL Quickstart Input parameters LU factorization call dgetrf(m,n,a,lda,ipiv,info) a: The matrix. m: The number of rows in the matrix a n: The number of columns in the matrix a lda: The fitsr dimension of a Input parameters
16
16 Intel MKL Quickstart Output parameters LU factorization call dgetrf(m,n,a,lda,ipiv,info) a: overwritten by L and U. The unit diagonal elements of L are skipped ipiv: An array, dimension at least max(1,min(m,n)). The pivot indices: row i is interchanged with row ipiv(i) info: info=0, the execution is successful info=-i, the i-th parameter had an illegal value info= i, uii is 0. The factorization has been completed, but U is exactly singular Output parameters
17
17 Intel MKL Quickstart Linear System (Fortran) Examples Define the matrix a(1,1)= 1 a(1,2)= 3 a(2,1)= 2 a(2,2)= 1 Define the right-hand side rhs(1)= 1.0 rhs(2)= 1.0 Solve the linear system call dgesv(n,nrhs,a,lda,ipiv,ths,ldb,info) Linear System
18
18 Intel MKL Quickstart Input parameters Linear System call dgesv(n,nrhs,a,lda,ipiv,ths,ldb,info) n: The number of linear equations, that is, the order of the matrix a rhs: Right-hand side lda: The leading dimension of matrix a nrhs: The number of right-hand sides Input parameters
19
19 Intel MKL Quickstart Output parameters Linear System call dgesv(n,nrhs,a,lda,ipiv,ths,ldb,info) ipiv: An array, dimension at least max(1,min(m,n)). The pivot indices: row i was interchanged with row ipiv(i) rhs: Overwritten by the solution matrix a info: info=0, the execution is successful info=-i, the i-th parameter had an illegal value info= i, U(i,i) is 0. The factorization has been completed, but U is exactly singular, so the solution could not be computed Output parameters
20
20 Intel MKL Quickstart Eigensystem (symmetric) Examples Define the matrixdsyev a(1,1)= 1.0 a(1,2)= 2.0 a(2,1)= 2.0 a(2,2)= 3.0 Call MKL function call dsyev(jobz,uplo,dim,a,lda,eigval,work,lwork,info) Eigensystem
21
21 Intel MKL Quickstart Input parameters Eigensystem call dsyev(jobz,uplo,dim,a,lda,eigval,work,lwork,info) jobz: If jobz='N', then only eigenvalues are computed jobz: If jobz='V', then eigenvalues are eigenvectors are computed uplo: If uplo='U', a stores the upper triangular part of a uplo: If uplo='L', a stores the lower triangular part of a lda: The first dimension of a work: a workspace array, its dimension max(1,lwork) lwork: The dimension of the array work Input parameters
22
22 Intel MKL Quickstart Output parameters call dsyev(jobz,uplo,dim,a,lda,eigval,work,lwork,info) wigval: contains the eigenvalues of the matrix a in ascending order info: info=0, the execution is successful info=-i, the i-th parameter had an illegal value info= i, then the algorithm failed to converge; I indicates the number of elements of an intermediate tridiagonal form which did not converge to zero Output parametersEigensystem
23
23 Intel MKL Quickstart References
24
24 Intel MKL Quickstart Reference Intel® Math Kernel Library Reference Manual (mklman.pdf) Intel® Math Kernel Library for the Linux OS User’s Guide (userguide.pdf) http://software.intel.com/en-us/articles/intel-math-kernel-library-documentation/ http://software.intel.com/en-us/articles/intel-math-kernel-library-documentation/ Reference
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.