package com.amd.aparapi.opencl;
import com.amd.aparapi.ProfileInfo;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.List;
public interface OpenCL<T> {
public static final String CL_KHR_FP64 = "cl_khr_fp64";
public static final String CL_KHR_SELECT_FPROUNDING_MODE = "cl_khr_select_fprounding_mode";
public static final String CL_KHR_GLOBAL_INT32_BASE_ATOMICS = "cl_khr_global_int32_base_atomics";
public static final String CL_KHR_GLOBAL_INT32_EXTENDED_ATOMICS = "cl_khr_global_int32_extended_atomics";
public static final String CL_KHR_LOCAL_INT32_BASE_ATOMICS = "cl_khr_local_int32_base_atomics";
public static final String CL_KHR_LOCAL_INT32_EXTENDED_ATOMICS = "cl_khr_local_int32_extended_atomics";
public static final String CL_KHR_INT64_BASE_ATOMICS = "cl_khr_int64_base_atomics";
public static final String CL_KHR_INT64_EXTENDED_ATOMICS = "cl_khr_int64_extended_atomics";
public static final String CL_KHR_3D_IMAGE_WRITES = "cl_khr_3d_image_writes";
public static final String CL_KHR_BYTE_ADDRESSABLE_SUPPORT = "cl_khr_byte_addressable_store";
public static final String CL_KHR_FP16 = "cl_khr_fp16";
public static final String CL_KHR_GL_SHARING = "cl_khr_gl_sharing";
@Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) public @interface Put {
}
@Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) public @interface Get {
}
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface Source {
String value();
}
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface Resource {
String value();
}
@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface Kernel {
String value();
}
@Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) public @interface Arg {
String value();
}
@Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) public @interface GlobalReadWrite {
String value();
}
@Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) public @interface GlobalReadOnly {
String value();
}
@Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) public @interface GlobalWriteOnly {
String value();
}
@Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) public @interface Local {
String value();
}
@Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) public @interface Constant {
String value();
}
public T put(float[] array);
public T put(int[] array);
public T put(short[] array);
public T put(byte[] array);
public T put(char[] array);
public T put(boolean[] array);
public T put(double[] array);
public T get(float[] array);
public T get(int[] array);
public T get(short[] array);
public T get(char[] array);
public T get(boolean[] array);
public T get(double[] array);
public T get(byte[] array);
public T begin();
public T end();
public T dispose();
public List<ProfileInfo> getProfileInfo();
}