Class ReDeMatMultDispatchConfigs

java.lang.Object
org.flag4j.linalg.ops.dispatch.configs.ReDeMatMultDispatchConfigs

public final class ReDeMatMultDispatchConfigs extends Object

A utility class for configuring dynamic kernel dispatch thresholds for real dense matrix multiplication.

If a configuration file ./configs/ReDeMatMult.properties is present, settings will be loaded at class initialization. If not, default values will be used. It is not generally recommended to set these values by hand.

Thread Safety:

This class is designed to be thread-safe.
  • Method Summary

    Modifier and Type
    Method
    Description
    static double
    Gets the "aspect ratio" threshold for real dense matrix multiplication problems.
    static int
    Gets the cache size to use in the dispatcher for real dense matrix multiplication problems.
    static int
    Gets the threshold for considering a real dense matrix or matrix-vector multiplication problem "small".
    static int
    Gets the threshold for considering a real dense matrix multiplication problem to be "small".
    static int
    Gets the threshold for using a reordered concurrent kernel for a "near square" real dense matrix multiplication problem.
    static int
    Gets the threshold for using a standard concurrent kernel for a "near square" real dense matrix multiplication problem.
    static int
    Gets the threshold for using a sequential kernel for a "near square" real dense matrix-vector multiplication problem.
    static int
    Gets the threshold for using a reordered concurrent kernel for a "wide" real dense matrix multiplication problem.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • getAspectThreshold

      public static double getAspectThreshold()
      Gets the "aspect ratio" threshold for real dense matrix multiplication problems.
      Returns:
      The "aspect ratio" threshold for real dense matrix multiplication problems.
    • getSmallThreshold

      public static int getSmallThreshold()
      Gets the threshold for considering a real dense matrix multiplication problem to be "small".
      Returns:
      The threshold for considering a real dense matrix multiplication problem to be "small".
    • getSquareMtStandardThreshold

      public static int getSquareMtStandardThreshold()
      Gets the threshold for using a standard concurrent kernel for a "near square" real dense matrix multiplication problem.
      Returns:
      The threshold for using a standard concurrent kernel for a "near square" real dense matrix multiplication problem.
    • getSquareMtReorderedThreshold

      public static int getSquareMtReorderedThreshold()
      Gets the threshold for using a reordered concurrent kernel for a "near square" real dense matrix multiplication problem.
      Returns:
      The threshold for using a reordered concurrent kernel for a "near square" real dense matrix multiplication problem.
    • getWideMtReorderedThreshold

      public static int getWideMtReorderedThreshold()
      Gets the threshold for using a reordered concurrent kernel for a "wide" real dense matrix multiplication problem.
      Returns:
      The threshold for using a reordered concurrent kernel for a "wide" real dense matrix multiplication problem.
    • getSquareSequentialVecThreshold

      public static int getSquareSequentialVecThreshold()
      Gets the threshold for using a sequential kernel for a "near square" real dense matrix-vector multiplication problem.
      Returns:
      The Gets the threshold for using a sequential kernel for a "near square" real dense matrix-vector multiplication problem.
    • getMinDimSmallThreshold

      public static int getMinDimSmallThreshold()
      Gets the threshold for considering a real dense matrix or matrix-vector multiplication problem "small".
      Returns:
      The threshold for considering a real dense matrix or matrix-vector multiplication problem "small".
    • getCacheSize

      public static int getCacheSize()
      Gets the cache size to use in the dispatcher for real dense matrix multiplication problems.
      Returns:
      The cache size to use in the dispatcher for real dense matrix multiplication problems.