Class ParallelConfig.Builder

java.lang.Object
com.morphiqlabs.wavelet.extensions.parallel.ParallelConfig.Builder
Enclosing class:
ParallelConfig

public static class ParallelConfig.Builder extends Object
Builder for ParallelConfig.
  • Constructor Details

  • Method Details

    • parallelismLevel

      public ParallelConfig.Builder parallelismLevel(int level)
      Sets the desired CPU parallelism level.
      Parameters:
      level - number of worker threads (>= 1)
      Returns:
      this builder
      Throws:
      IllegalArgumentException - if level < 1
    • parallelThreshold

      public ParallelConfig.Builder parallelThreshold(int threshold)
      Sets the minimum input size threshold to trigger parallel execution.
      Parameters:
      threshold - element count (>= 1)
      Returns:
      this builder
      Throws:
      IllegalArgumentException - if threshold < 1
    • useVirtualThreads

      public ParallelConfig.Builder useVirtualThreads(boolean use)
      Enables or disables virtual threads for I/O‑bound flows.
      Parameters:
      use - true to use virtual threads
      Returns:
      this builder
    • enableGPU

      public ParallelConfig.Builder enableGPU(boolean enable)
      Enables or disables GPU acceleration when available.
      Parameters:
      enable - true to enable GPU usage
      Returns:
      this builder
    • mode

      Sets execution mode (CPU/GPU/ADAPTIVE).
      Parameters:
      mode - execution mode
      Returns:
      this builder
    • chunkSize

      public ParallelConfig.Builder chunkSize(int size)
      Sets the chunk size used to partition work. Defaults target L1 cache footprint; adjust for workload.
      Parameters:
      size - elements per chunk (>= 1)
      Returns:
      this builder
      Throws:
      IllegalArgumentException - if size < 1
    • enableStructuredConcurrency

      public ParallelConfig.Builder enableStructuredConcurrency(boolean enable)
      Enables or disables structured concurrency patterns.
      Parameters:
      enable - true to enable structured concurrency
      Returns:
      this builder
    • adaptiveThreshold

      public ParallelConfig.Builder adaptiveThreshold(boolean adaptive)
      Enables or disables adaptive threshold selection.
      Parameters:
      adaptive - true to adapt thresholds by level/complexity
      Returns:
      this builder
    • overheadFactor

      public ParallelConfig.Builder overheadFactor(double factor)
      Sets an empirical overhead factor to tune parallel decisioning. Values > 1 increase the threshold for small tasks.
      Parameters:
      factor - overhead multiplier (> 0)
      Returns:
      this builder
      Throws:
      IllegalArgumentException - if factor <= 0
    • enableParallelThresholding

      public ParallelConfig.Builder enableParallelThresholding(boolean enable)
      Enables or disables parallel thresholding in operations that support it.
      Parameters:
      enable - true to enable
      Returns:
      this builder
    • enableMetrics

      public ParallelConfig.Builder enableMetrics(boolean enable)
      Enables or disables metric collection for diagnostics.
      Parameters:
      enable - true to enable metrics
      Returns:
      this builder
    • enableAdaptiveTuning

      public ParallelConfig.Builder enableAdaptiveTuning(boolean enable)
      Enables or disables adaptive tuning (ML) feedback loop.
      Parameters:
      enable - true to enable adaptive tuning
      Returns:
      this builder
    • build

      public ParallelConfig build()
      Builds an immutable ParallelConfig with the configured options.
      Returns:
      new ParallelConfig instance