1 package net.bmahe.genetics4j.gpu.spec.fitness.kernelcontext; 2 3 import java.util.Optional; 4 5 import org.immutables.value.Value; 6 7 @Value.Immutable 8 public interface KernelExecutionContext { 9 10 long[] globalWorkSize(); 11 12 Optional<long[]> workGroupSize(); 13 14 @Value.Derived 15 default int globalWorkDimensions() { 16 return globalWorkSize().length; 17 } 18 19 static class Builder extends ImmutableKernelExecutionContext.Builder { 20 } 21 22 static Builder builder() { 23 return new Builder(); 24 } 25 }