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
19 @Value.Immutable
20 public interface SingleKernelFitnessDescriptor {
21
22
23
24
25
26
27 String kernelName();
28
29
30
31
32
33
34 KernelExecutionContextComputer kernelExecutionContextComputer();
35
36
37
38
39
40
41 Map<Integer, StaticDataLoader> staticDataLoaders();
42
43
44
45
46
47
48 Map<Integer, DataLoader> dataLoaders();
49
50
51
52
53
54
55 Map<Integer, LocalMemoryAllocator> localMemoryAllocators();
56
57
58
59
60
61
62 Map<Integer, ResultAllocator> resultAllocators();
63
64 static class Builder extends ImmutableSingleKernelFitnessDescriptor.Builder {
65 }
66
67 static Builder builder() {
68 return new Builder();
69 }
70 }