Developer Reference

  • 0.9
  • 09/09/2020
  • Public Content
Contents

mkl_graph_optimize_mxv

Computes internal optimized data for a graph matrix to be used in a matrix-vector product.

Syntax

mkl_graph_status_t mkl_graph_optimize_mxv(mkl_graph_vector_t mask, mkl_graph_semiring_t semiring, mkl_graph_matrix_t A, mkl_graph_vector_t v, mkl_graph_descriptor_t desc, int64_t ncalls);
Include Files
  • mkl_graph.h
Description
The
mkl_graph_optimize_mxv
routine computes internal optimized data for a graph matrix-vector product
mkl_graph_mxv
. Input arguments match the definitions of the arguments for
mkl_graph_mxv
. You can provide as much information about future calls to
mkl_graph_mxv
as is known. If mask, input vector or descriptor is not known, NULL can be passed as a corresponding argument.
The last argument,
ncalls
, estimates the number of calls to
mkl_graph_mxv
with the matrix
A
. More aggressive optimizations may be performed for large values of
ncalls
. If such an estimate is not known, a negative value can be passed to use the default behavior.
Currently the optimizations mainly target the matrix
A
. Optimized data are stored inside the graph matrix and will be deallocated once non-compatible matrix changes are made or when the matrix is destroyed via
mkl_graph_matrix_destroy
.
Input Parameters
mask
A graph vector which will be used as a mask in
mkl_graph_mxv
. If it is not known or will not be present in the operation, NULL can be passed.
semiring
A semiring which will be used in
mkl_graph_mxv
. Refer to Graph API Glossary for more details. If it is not known, any value from
mkl_graph_semiring_t
can be used.
A
A graph matrix which will be used in
mkl_graph_mxv
. Must be known and not NULL.
V
A graph vector which will be used as input vector in
mkl_graph_mxv
. If it is not known or it will change between multiple calls to
mkl_graph_mxv
, NULL can be passed.
desc
A graph descriptor which will define additional modifiers for
mkl_graph_mxv
. If it is not known, will change between calls to
mkl_graph_mxv
, or will not be used in calls to
mkl_graph_mxv
, NULL can be passed.
ncalls
An estimate on the number of calls to the matrix-vector product which will follow the call to
mkl_graph_optimize_mxv
with the matrix
A
. If negative, the routine uses the default strategy.
Output Parameters
A
A graph matrix with the optimized data for a matrix-vector product.
Return Values
The function returns a value indicating whether the operation was successful or not and why. Refer to Graph API Glossary for a list of possible options.
Optimization Notice
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Notice revision #20110804
This notice covers the following instruction sets: SSE2, SSE4.2, AVX2, AVX-512.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804