1 package net.bmahe.genetics4j.gpu.spec.fitness;
2
3 import java.util.Map;
4
5 import org.immutables.value.Value;
6
7 import net.bmahe.genetics4j.gpu.spec.fitness.cldata.DataLoader;
8 import net.bmahe.genetics4j.gpu.spec.fitness.cldata.LocalMemoryAllocator;
9 import net.bmahe.genetics4j.gpu.spec.fitness.cldata.ResultAllocator;
10 import net.bmahe.genetics4j.gpu.spec.fitness.cldata.StaticDataLoader;
11 import net.bmahe.genetics4j.gpu.spec.fitness.kernelcontext.KernelExecutionContextComputer;
12
13
14
15
16
17
18 @Value.Immutable
19 public interface SingleKernelFitnessDescriptor {
20
21
22
23
24
25
26 String kernelName();
27
28
29
30
31
32
33 KernelExecutionContextComputer kernelExecutionContextComputer();
34
35
36
37
38
39
40 Map<Integer, StaticDataLoader> staticDataLoaders();
41
42
43
44
45
46
47 Map<Integer, DataLoader> dataLoaders();
48
49
50
51
52
53
54 Map<Integer, LocalMemoryAllocator> localMemoryAllocators();
55
56
57
58
59
60
61 Map<Integer, ResultAllocator> resultAllocators();
62
63 static class Builder extends ImmutableSingleKernelFitnessDescriptor.Builder {
64 }
65
66 static Builder builder() {
67 return new Builder();
68 }
69 }