Class Cm128DeMatMultDispatchConfigs

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

public final class Cm128DeMatMultDispatchConfigs extends Object

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

If a configuration file ./configs/CmDeMatMult.properties is present, settings will be loaded at class initialization. If not, default values will be used.

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 complex dense matrix multiplication problems.
    static int
    Gets the cache size to use in the dispatcher for complex dense matrix multiplication problems.
    static int
    Gets the threshold for considering a complex dense matrix or matrix-vector multiplication problem "small".
    static int
    Gets the threshold for considering a complex dense matrix multiplication problem to be "small".
    static int
    Gets the threshold for using a reordered concurrent kernel for a "near square" complex dense matrix multiplication problem.
    static int
    Gets the threshold for using a standard concurrent kernel for a "near square" complex dense matrix multiplication problem.
    static int
    Gets the threshold for using a reordered concurrent kernel for a "wide" complex 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 complex dense matrix multiplication problems.
      Returns:
      The "aspect ratio" threshold for complex dense matrix multiplication problems.
    • getSmallThreshold

      public static int getSmallThreshold()
      Gets the threshold for considering a complex dense matrix multiplication problem to be "small".
      Returns:
      The threshold for considering a complex 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" complex dense matrix multiplication problem.
      Returns:
      The threshold for using a standard concurrent kernel for a "near square" complex dense matrix multiplication problem.
    • getSquareMtReorderedThreshold

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

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

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

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