Class ImmutableKernelInfo.Builder
java.lang.Object
net.bmahe.genetics4j.gpu.opencl.model.ImmutableKernelInfo.Builder
- Enclosing class:
ImmutableKernelInfo
@Generated(from="KernelInfo",
generator="Immutables")
public static final class ImmutableKernelInfo.Builder
extends Object
Builds instances of type
KernelInfo.
Initialize attributes and then invoke the build() method to create an
immutable instance.
Builder is not thread-safe and generally should not be stored in a field or collection,
but instead used immediately to create instances.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final longprivate static final longprivate static final longprivate static final longprivate static final longprivate longprivate longprivate Stringprivate longprivate longprivate long -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild()Builds a newKernelInfo.private Stringfrom(KernelInfo instance) Fill a builder with attribute values from the providedKernelInfoinstance.localMemSize(long localMemSize) Initializes the value for thelocalMemSizeattribute.Initializes the value for thenameattribute.preferredWorkGroupSizeMultiple(long preferredWorkGroupSizeMultiple) Initializes the value for thepreferredWorkGroupSizeMultipleattribute.privateMemSize(long privateMemSize) Initializes the value for theprivateMemSizeattribute.workGroupSize(long workGroupSize) Initializes the value for theworkGroupSizeattribute.
-
Field Details
-
INIT_BIT_NAME
private static final long INIT_BIT_NAME- See Also:
-
INIT_BIT_WORK_GROUP_SIZE
private static final long INIT_BIT_WORK_GROUP_SIZE- See Also:
-
INIT_BIT_PREFERRED_WORK_GROUP_SIZE_MULTIPLE
private static final long INIT_BIT_PREFERRED_WORK_GROUP_SIZE_MULTIPLE- See Also:
-
INIT_BIT_LOCAL_MEM_SIZE
private static final long INIT_BIT_LOCAL_MEM_SIZE- See Also:
-
INIT_BIT_PRIVATE_MEM_SIZE
private static final long INIT_BIT_PRIVATE_MEM_SIZE- See Also:
-
initBits
private long initBits -
name
-
workGroupSize
private long workGroupSize -
preferredWorkGroupSizeMultiple
private long preferredWorkGroupSizeMultiple -
localMemSize
private long localMemSize -
privateMemSize
private long privateMemSize
-
-
Constructor Details
-
Builder
private Builder()
-
-
Method Details
-
from
Fill a builder with attribute values from the providedKernelInfoinstance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
name
Initializes the value for thenameattribute.- Parameters:
name- The value for name- Returns:
thisbuilder for use in a chained invocation
-
workGroupSize
Initializes the value for theworkGroupSizeattribute.- Parameters:
workGroupSize- The value for workGroupSize- Returns:
thisbuilder for use in a chained invocation
-
preferredWorkGroupSizeMultiple
public final ImmutableKernelInfo.Builder preferredWorkGroupSizeMultiple(long preferredWorkGroupSizeMultiple) Initializes the value for thepreferredWorkGroupSizeMultipleattribute.- Parameters:
preferredWorkGroupSizeMultiple- The value for preferredWorkGroupSizeMultiple- Returns:
thisbuilder for use in a chained invocation
-
localMemSize
Initializes the value for thelocalMemSizeattribute.- Parameters:
localMemSize- The value for localMemSize- Returns:
thisbuilder for use in a chained invocation
-
privateMemSize
Initializes the value for theprivateMemSizeattribute.- Parameters:
privateMemSize- The value for privateMemSize- Returns:
thisbuilder for use in a chained invocation
-
build
Builds a newKernelInfo.- Returns:
- An immutable instance of KernelInfo
- Throws:
IllegalStateException- if any required attributes are missing
-
formatRequiredAttributesMessage
-