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 }