FflasFfpack
blockcuts.inl File Reference
#include <fflas-ffpack/fflas/fflas_enum.h>
#include <math.h>
#include <cassert>

Data Structures

struct  Single
struct  Row
struct  Column
struct  Block
struct  Recursive
struct  Fixed
struct  Threads
struct  Grain
struct  TwoD
struct  TwoDAdaptive
struct  ThreeD
struct  ThreeDInPlace
struct  ThreeDAdaptive
struct  Parallel< C, P >
struct  Sequential
struct  Compose< H1, H2 >
struct  ForStrategy1D< blocksize_t, Cut, Param >
struct  ForStrategy2D< blocksize_t, Cut, Param >

Namespaces

namespace  FFLAS
namespace  FFLAS::CuttingStrategy
namespace  FFLAS::StrategyParameter
namespace  FFLAS::ParSeqHelper
 ParSeqHelper for both fgemm and ftrsm.

Macros

#define __FFLASFFPACK_fflas_blockcuts_INL
#define __FFLASFFPACK_MINBLOCKCUTS   ((size_t)256)

Typedefs

typedef Row RNSModulus

Functions

template<class Cut = CuttingStrategy::Block, class Strat = StrategyParameter::Threads>
void BlockCuts (size_t &RBLOCKSIZE, size_t &CBLOCKSIZE, const size_t m, const size_t n, const size_t numthreads)
template<>
void BlockCuts< CuttingStrategy::Single, StrategyParameter::Threads > (size_t &RBLOCKSIZE, size_t &CBLOCKSIZE, const size_t m, const size_t n, const size_t numthreads)
template<>
void BlockCuts< CuttingStrategy::Row, StrategyParameter::Fixed > (size_t &RBLOCKSIZE, size_t &CBLOCKSIZE, const size_t m, const size_t n, const size_t numthreads)
template<>
void BlockCuts< CuttingStrategy::Row, StrategyParameter::Grain > (size_t &RBLOCKSIZE, size_t &CBLOCKSIZE, const size_t m, const size_t n, const size_t grainsize)
template<>
void BlockCuts< CuttingStrategy::Block, StrategyParameter::Grain > (size_t &RBLOCKSIZE, size_t &CBLOCKSIZE, const size_t m, const size_t n, const size_t grainsize)
template<>
void BlockCuts< CuttingStrategy::Column, StrategyParameter::Fixed > (size_t &RBLOCKSIZE, size_t &CBLOCKSIZE, const size_t m, const size_t n, const size_t numthreads)
template<>
void BlockCuts< CuttingStrategy::Column, StrategyParameter::Grain > (size_t &RBLOCKSIZE, size_t &CBLOCKSIZE, const size_t m, const size_t n, const size_t grainsize)
template<>
void BlockCuts< CuttingStrategy::Block, StrategyParameter::Fixed > (size_t &RBLOCKSIZE, size_t &CBLOCKSIZE, const size_t m, const size_t n, const size_t numthreads)
template<>
void BlockCuts< CuttingStrategy::Row, StrategyParameter::Threads > (size_t &RBLOCKSIZE, size_t &CBLOCKSIZE, const size_t m, const size_t n, const size_t numthreads)
template<>
void BlockCuts< CuttingStrategy::Column, StrategyParameter::Threads > (size_t &RBLOCKSIZE, size_t &CBLOCKSIZE, const size_t m, const size_t n, const size_t numthreads)
template<>
void BlockCuts< CuttingStrategy::Block, StrategyParameter::Threads > (size_t &RBLOCKSIZE, size_t &CBLOCKSIZE, const size_t m, const size_t n, const size_t numthreads)
template<class Cut = CuttingStrategy::Block, class Param = StrategyParameter::Threads>
void BlockCuts (size_t &rowBlockSize, size_t &colBlockSize, size_t &lastRBS, size_t &lastCBS, size_t &changeRBS, size_t &changeCBS, size_t &numRowBlock, size_t &numColBlock, size_t m, size_t n, const size_t numthreads)

Macro Definition Documentation

◆ __FFLASFFPACK_fflas_blockcuts_INL

#define __FFLASFFPACK_fflas_blockcuts_INL

◆ __FFLASFFPACK_MINBLOCKCUTS

#define __FFLASFFPACK_MINBLOCKCUTS   ((size_t)256)