# A Matrix Multiplication Routine that Updates Only the Upper or Lower Triangular Part of the Result Matrix

### Background

Intel® MKL provides the general purpose BLAS*  matrix multiply routines ?GEMM defined as follows:

`C := alpha*op(A)*op(B) + beta*C`

where alpha and beta are scalars, op(A) is an m-by-k matrix, op(B) is a k-by-n matrix, C is an m-by-n matrix, with op(X) being either X, or XT, or XH.

• Desenvolvedores
• Parceiros
• Professores
• Estudantes
• Apple Mac OS X*
• Linux*
• Microsoft Windows* (XP, Vista, 7)
• Microsoft Windows* 8
• Unix*
• Cliente empresarial
• Serviços de nuvem
• Servidor
• C/C++
• Fortran
• Principiante
• Intermediário
• Biblioteca kernel de matemática Intel®
• Learning Lab
• GEMM BLAS matrix multiplication
• DGEMM
• Ferramentas de desenvolvimento
• Serviços financeiros
• Otimização

# Tips to measure the performance of Intel® MKL with small matrix sizes

The time required by the first MKL call should be ignored for the perfromance measurements. The first MKL call has overhead due to buffer allocation and thread initialization. Ignoring the first MKL call gives more consistent times for small problems.
• Servidor
• C/C++
• Principiante
• Biblioteca kernel de matemática Intel®
• GEMM BLAS matrix multiplication
• small matrix
• Intel MKL Performance
• small problem
• DGEMM

# Оптимизация функций линейной алгебры библиотеки Intel® MKL под Intel® AVX на примере DGEMM

.code {padding: 10px 10px 5px; margin-bottom: 5px; background-color: #e3e3e3; border: 1px solid #bababa; }

## Введение

Изначально мы сосредоточили свои усилия на оптимизации и функциональности в трех областях, но библиотека Intel® Math Kernel Library (Intel® MKL) охватывает более широкий спектр функций для научных и инженерных расчетов. К ним относятся:

• многопоточность
• DGEMM
• кэш
• набор инструкций
• оптимизация
• Sandy Bridge
• Computação paralela