M4RI 20200125
mp.h File Reference

multicore matrix operations More...

#include <m4ri/mzd.h>

Go to the source code of this file.

Functions

mzd_tmzd_mul_mp (mzd_t *C, mzd_t const *A, mzd_t const *B, int cutoff)
 Matrix multiplication via the cubic multiplication algorithm on multiple cores, i.e. compute C = AB.
 
mzd_tmzd_addmul_mp (mzd_t *C, mzd_t const *A, mzd_t const *B, int cutoff)
 Matrix multiplication and in-place addition via the cubic matrix multiplication algorithm on multiple cores, i.e. compute C = C+ AB.
 
mzd_t_mzd_addmul_mp4 (mzd_t *C, mzd_t const *A, mzd_t const *B, int cutoff)
 Matrix multiplication and in-place addition via cubic matrix multiplication algorithm on up to four cores, i.e. compute C = C+ AB.
 
mzd_t_mzd_mul_mp4 (mzd_t *C, mzd_t const *A, mzd_t const *B, int cutoff)
 Matrix multiplication via cubic matrix multiplication algorithm on up to four cores, i.e. compute C = C+ AB.
 

Detailed Description

Function Documentation

◆ _mzd_addmul_mp4()

mzd_t * _mzd_addmul_mp4 ( mzd_t * C,
mzd_t const * A,
mzd_t const * B,
int cutoff )

Matrix multiplication and in-place addition via cubic matrix multiplication algorithm on up to four cores, i.e. compute C = C+ AB.

Parameters
CProduct matrix
AInput matrix A
BInput matrix B
cutoffMinimal dimension for recursion.
Todo
make sure not to overwrite crap after ncols and before width * m4ri_radix

◆ _mzd_mul_mp4()

mzd_t * _mzd_mul_mp4 ( mzd_t * C,
mzd_t const * A,
mzd_t const * B,
int cutoff )

Matrix multiplication via cubic matrix multiplication algorithm on up to four cores, i.e. compute C = C+ AB.

Parameters
CProduct matrix
AInput matrix A
BInput matrix B
cutoffMinimal dimension for recursion.
Todo
make sure not to overwrite crap after ncols and before width * m4ri_radix

◆ mzd_addmul_mp()

mzd_t * mzd_addmul_mp ( mzd_t * C,
mzd_t const * A,
mzd_t const * B,
int cutoff )

Matrix multiplication and in-place addition via the cubic matrix multiplication algorithm on multiple cores, i.e. compute C = C+ AB.

This is the wrapper function including bounds checks. See _mzd_addmul_mp4 for implementation details.

Parameters
Cproduct matrix
AInput matrix A
BInput matrix B
cutoffMinimal dimension for recursion.

◆ mzd_mul_mp()

mzd_t * mzd_mul_mp ( mzd_t * C,
mzd_t const * A,
mzd_t const * B,
int cutoff )

Matrix multiplication via the cubic multiplication algorithm on multiple cores, i.e. compute C = AB.

This is the wrapper function including bounds checks. See _mzd_mul_mp4 for implementation details.

Parameters
CPreallocated product matrix, may be NULL for automatic creation.
AInput matrix A
BInput matrix B
cutoffMinimal dimension for recursion.