diff --git a/CHANGELOG.md b/CHANGELOG.md index 7409d345be0..bf7e65d7f3d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,5 @@ + * Add presets for the CUPTI module of CUDA ([pull #1531](https://github.com/bytedeco/javacpp-presets/pull/1531)) * Add new `ClangMemoryMgmtExample` in samples for LLVM ([pull #1522](https://github.com/bytedeco/javacpp-presets/pull/1522)) * Enable `opencv_python3` module for `macosx-arm64` as well ([pull #1517](https://github.com/bytedeco/javacpp-presets/pull/1517)) * Introduce `macosx-arm64` builds for CPython ([pull #1511](https://github.com/bytedeco/javacpp-presets/pull/1511)), NumPy ([pull #1515](https://github.com/bytedeco/javacpp-presets/pull/1515)), SciPy ([pull #1516](https://github.com/bytedeco/javacpp-presets/pull/1516)) diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_Activity.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_Activity.java new file mode 100644 index 00000000000..18835ba5e7f --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_Activity.java @@ -0,0 +1,51 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The base activity record. + * + * The activity API uses a CUpti_Activity as a generic representation + * for any activity. The 'kind' field is used to determine the + * specific activity kind, and from that the CUpti_Activity object can + * be cast to the specific activity record type appropriate for that kind. + * + * Note that all activity record types are padded and aligned to + * ensure that each member of the record is naturally aligned. + * + * @see CUpti_ActivityKind + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_Activity extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_Activity() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_Activity(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_Activity(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_Activity position(long position) { + return (CUpti_Activity)super.position(position); + } + @Override public CUpti_Activity getPointer(long i) { + return new CUpti_Activity((Pointer)this).offsetAddress(i); + } + + /** + * The kind of this activity. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_Activity kind(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityAPI.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityAPI.java new file mode 100644 index 00000000000..1372e6cdc5b --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityAPI.java @@ -0,0 +1,92 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for a driver or runtime API invocation. + * + * This activity record represents an invocation of a driver or + * runtime API (CUPTI_ACTIVITY_KIND_DRIVER and + * CUPTI_ACTIVITY_KIND_RUNTIME). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityAPI extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityAPI() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityAPI(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityAPI(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityAPI position(long position) { + return (CUpti_ActivityAPI)super.position(position); + } + @Override public CUpti_ActivityAPI getPointer(long i) { + return new CUpti_ActivityAPI((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_DRIVER, + * CUPTI_ACTIVITY_KIND_RUNTIME, or CUPTI_ACTIVITY_KIND_INTERNAL_LAUNCH_API. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityAPI kind(int setter); + + /** + * The ID of the driver or runtime function. + */ + public native @Cast("CUpti_CallbackId") int cbid(); public native CUpti_ActivityAPI cbid(int setter); + + /** + * The start timestamp for the function, in ns. A value of 0 for + * both the start and end timestamps indicates that timestamp + * information could not be collected for the function. + */ + public native @Cast("uint64_t") long start(); public native CUpti_ActivityAPI start(long setter); + + /** + * The end timestamp for the function, in ns. A value of 0 for both + * the start and end timestamps indicates that timestamp information + * could not be collected for the function. + */ + public native @Cast("uint64_t") long end(); public native CUpti_ActivityAPI end(long setter); + + /** + * The ID of the process where the driver or runtime CUDA function + * is executing. + */ + public native @Cast("uint32_t") int processId(); public native CUpti_ActivityAPI processId(int setter); + + /** + * The ID of the thread where the driver or runtime CUDA function is + * executing. + */ + public native @Cast("uint32_t") int threadId(); public native CUpti_ActivityAPI threadId(int setter); + + /** + * The correlation ID of the driver or runtime CUDA function. Each + * function invocation is assigned a unique correlation ID that is + * identical to the correlation ID in the memcpy, memset, or kernel + * activity record that is associated with this function. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityAPI correlationId(int setter); + + /** + * The return value for the function. For a CUDA driver function + * with will be a CUresult value, and for a CUDA runtime function + * this will be a cudaError_t value. + */ + public native @Cast("uint32_t") int returnValue(); public native CUpti_ActivityAPI returnValue(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityAutoBoostState.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityAutoBoostState.java new file mode 100644 index 00000000000..ffdb6d36e5e --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityAutoBoostState.java @@ -0,0 +1,54 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief Device auto boost state structure + * + * This structure defines auto boost state for a device. + * See function \ref cuptiGetAutoBoostState + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityAutoBoostState extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityAutoBoostState() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityAutoBoostState(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityAutoBoostState(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityAutoBoostState position(long position) { + return (CUpti_ActivityAutoBoostState)super.position(position); + } + @Override public CUpti_ActivityAutoBoostState getPointer(long i) { + return new CUpti_ActivityAutoBoostState((Pointer)this).offsetAddress(i); + } + + /** + * Returned auto boost state. 1 is returned in case auto boost is enabled, 0 + * otherwise + */ + public native @Cast("uint32_t") int enabled(); public native CUpti_ActivityAutoBoostState enabled(int setter); + + /** + * Id of process that has set the current boost state. The value will be + * CUPTI_AUTO_BOOST_INVALID_CLIENT_PID if the user does not have the + * permission to query process ids or there is an error in querying the + * process id. + */ + public native @Cast("uint32_t") int pid(); public native CUpti_ActivityAutoBoostState pid(int setter); + +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityBranch2.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityBranch2.java new file mode 100644 index 00000000000..4608e19d9dd --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityBranch2.java @@ -0,0 +1,87 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for source level result + * branch. + * + * This activity record the locations of the branches in the + * source (CUPTI_ACTIVITY_KIND_BRANCH). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityBranch2 extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityBranch2() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityBranch2(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityBranch2(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityBranch2 position(long position) { + return (CUpti_ActivityBranch2)super.position(position); + } + @Override public CUpti_ActivityBranch2 getPointer(long i) { + return new CUpti_ActivityBranch2((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_BRANCH. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityBranch2 kind(int setter); + + /** + * The ID for source locator. + */ + public native @Cast("uint32_t") int sourceLocatorId(); public native CUpti_ActivityBranch2 sourceLocatorId(int setter); + + /** + * The correlation ID of the kernel to which this result is associated. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityBranch2 correlationId(int setter); + + /** + * Correlation ID with global/device function name + */ + public native @Cast("uint32_t") int functionId(); public native CUpti_ActivityBranch2 functionId(int setter); + + /** + * The pc offset for the branch. + */ + public native @Cast("uint32_t") int pcOffset(); public native CUpti_ActivityBranch2 pcOffset(int setter); + + /** + * Number of times this branch diverged + */ + public native @Cast("uint32_t") int diverged(); public native CUpti_ActivityBranch2 diverged(int setter); + + /** + * This increments each time when this instruction is executed by number + * of threads that executed this instruction + */ + public native @Cast("uint64_t") long threadsExecuted(); public native CUpti_ActivityBranch2 threadsExecuted(long setter); + + /** + * The number of times this instruction was executed per warp. It will be incremented + * regardless of predicate or condition code. + */ + public native @Cast("uint32_t") int executed(); public native CUpti_ActivityBranch2 executed(int setter); + + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint32_t") int pad(); public native CUpti_ActivityBranch2 pad(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityCdpKernel.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityCdpKernel.java new file mode 100644 index 00000000000..560e5fe6359 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityCdpKernel.java @@ -0,0 +1,218 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for CDP (CUDA Dynamic Parallelism) + * kernel. + * + * This activity record represents a CDP kernel execution. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityCdpKernel extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityCdpKernel() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityCdpKernel(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityCdpKernel(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityCdpKernel position(long position) { + return (CUpti_ActivityCdpKernel)super.position(position); + } + @Override public CUpti_ActivityCdpKernel getPointer(long i) { + return new CUpti_ActivityCdpKernel((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_CDP_KERNEL + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityCdpKernel kind(int setter); + + @Name("cacheConfig.both") public native @Cast("uint8_t") byte cacheConfig_both(); public native CUpti_ActivityCdpKernel cacheConfig_both(byte setter); + /** + * The cache configuration requested by the kernel. The value is one + * of the CUfunc_cache enumeration values from cuda.h. + */ + @Name("cacheConfig.config.requested") public native @Cast("uint8_t") @NoOffset byte cacheConfig_config_requested(); public native CUpti_ActivityCdpKernel cacheConfig_config_requested(byte setter); + + /** + * The cache configuration used for the kernel. The value is one of + * the CUfunc_cache enumeration values from cuda.h. + */ + @Name("cacheConfig.config.executed") public native @Cast("uint8_t") @NoOffset byte cacheConfig_config_executed(); public native CUpti_ActivityCdpKernel cacheConfig_config_executed(byte setter); + + /** + * The shared memory configuration used for the kernel. The value is one of + * the CUsharedconfig enumeration values from cuda.h. + */ + public native @Cast("uint8_t") byte sharedMemoryConfig(); public native CUpti_ActivityCdpKernel sharedMemoryConfig(byte setter); + + /** + * The number of registers required for each thread executing the + * kernel. + */ + public native @Cast("uint16_t") short registersPerThread(); public native CUpti_ActivityCdpKernel registersPerThread(short setter); + + /** + * The start timestamp for the kernel execution, in ns. A value of 0 + * for both the start and end timestamps indicates that timestamp + * information could not be collected for the kernel. + */ + public native @Cast("uint64_t") long start(); public native CUpti_ActivityCdpKernel start(long setter); + + /** + * The end timestamp for the kernel execution, in ns. A value of 0 + * for both the start and end timestamps indicates that timestamp + * information could not be collected for the kernel. + */ + public native @Cast("uint64_t") long end(); public native CUpti_ActivityCdpKernel end(long setter); + + /** + * The ID of the device where the kernel is executing. + */ + public native @Cast("uint32_t") int deviceId(); public native CUpti_ActivityCdpKernel deviceId(int setter); + + /** + * The ID of the context where the kernel is executing. + */ + public native @Cast("uint32_t") int contextId(); public native CUpti_ActivityCdpKernel contextId(int setter); + + /** + * The ID of the stream where the kernel is executing. + */ + public native @Cast("uint32_t") int streamId(); public native CUpti_ActivityCdpKernel streamId(int setter); + + /** + * The X-dimension grid size for the kernel. + */ + public native int gridX(); public native CUpti_ActivityCdpKernel gridX(int setter); + + /** + * The Y-dimension grid size for the kernel. + */ + public native int gridY(); public native CUpti_ActivityCdpKernel gridY(int setter); + + /** + * The Z-dimension grid size for the kernel. + */ + public native int gridZ(); public native CUpti_ActivityCdpKernel gridZ(int setter); + + /** + * The X-dimension block size for the kernel. + */ + public native int blockX(); public native CUpti_ActivityCdpKernel blockX(int setter); + + /** + * The Y-dimension block size for the kernel. + */ + public native int blockY(); public native CUpti_ActivityCdpKernel blockY(int setter); + + /** + * The Z-dimension grid size for the kernel. + */ + public native int blockZ(); public native CUpti_ActivityCdpKernel blockZ(int setter); + + /** + * The static shared memory allocated for the kernel, in bytes. + */ + public native int staticSharedMemory(); public native CUpti_ActivityCdpKernel staticSharedMemory(int setter); + + /** + * The dynamic shared memory reserved for the kernel, in bytes. + */ + public native int dynamicSharedMemory(); public native CUpti_ActivityCdpKernel dynamicSharedMemory(int setter); + + /** + * The amount of local memory reserved for each thread, in bytes. + */ + public native @Cast("uint32_t") int localMemoryPerThread(); public native CUpti_ActivityCdpKernel localMemoryPerThread(int setter); + + /** + * The total amount of local memory reserved for the kernel, in + * bytes. + */ + public native @Cast("uint32_t") int localMemoryTotal(); public native CUpti_ActivityCdpKernel localMemoryTotal(int setter); + + /** + * The correlation ID of the kernel. Each kernel execution is + * assigned a unique correlation ID that is identical to the + * correlation ID in the driver API activity record that launched + * the kernel. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityCdpKernel correlationId(int setter); + + /** + * The grid ID of the kernel. Each kernel execution + * is assigned a unique grid ID. + */ + public native @Cast("int64_t") long gridId(); public native CUpti_ActivityCdpKernel gridId(long setter); + + /** + * The grid ID of the parent kernel. + */ + public native @Cast("int64_t") long parentGridId(); public native CUpti_ActivityCdpKernel parentGridId(long setter); + + /** + * The timestamp when kernel is queued up, in ns. A value of + * CUPTI_TIMESTAMP_UNKNOWN indicates that the queued time is + * unknown. + */ + public native @Cast("uint64_t") long queued(); public native CUpti_ActivityCdpKernel queued(long setter); + + /** + * The timestamp when kernel is submitted to the gpu, in ns. A value + * of CUPTI_TIMESTAMP_UNKNOWN indicates that the submission time is + * unknown. + */ + public native @Cast("uint64_t") long submitted(); public native CUpti_ActivityCdpKernel submitted(long setter); + + /** + * The timestamp when kernel is marked as completed, in ns. A value + * of CUPTI_TIMESTAMP_UNKNOWN indicates that the completion time is + * unknown. + */ + public native @Cast("uint64_t") long completed(); public native CUpti_ActivityCdpKernel completed(long setter); + + /** + * The X-dimension of the parent block. + */ + public native @Cast("uint32_t") int parentBlockX(); public native CUpti_ActivityCdpKernel parentBlockX(int setter); + + /** + * The Y-dimension of the parent block. + */ + public native @Cast("uint32_t") int parentBlockY(); public native CUpti_ActivityCdpKernel parentBlockY(int setter); + + /** + * The Z-dimension of the parent block. + */ + public native @Cast("uint32_t") int parentBlockZ(); public native CUpti_ActivityCdpKernel parentBlockZ(int setter); + +// #ifdef CUPTILP64 + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint32_t") int pad(); public native CUpti_ActivityCdpKernel pad(int setter); +// #endif + + /** + * The name of the kernel. This name is shared across all activity + * records representing the same kernel, and so should not be + * modified. + */ + public native @Cast("const char*") BytePointer name(); public native CUpti_ActivityCdpKernel name(BytePointer setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityContext3.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityContext3.java new file mode 100644 index 00000000000..7fa9ad8db34 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityContext3.java @@ -0,0 +1,91 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for a context. + * + * This activity record represents information about a context + * (CUPTI_ACTIVITY_KIND_CONTEXT). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityContext3 extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityContext3() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityContext3(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityContext3(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityContext3 position(long position) { + return (CUpti_ActivityContext3)super.position(position); + } + @Override public CUpti_ActivityContext3 getPointer(long i) { + return new CUpti_ActivityContext3((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_CONTEXT. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityContext3 kind(int setter); + + /** + * The context ID. + */ + public native @Cast("uint32_t") int contextId(); public native CUpti_ActivityContext3 contextId(int setter); + + /** + * The device ID. + */ + public native @Cast("uint32_t") int deviceId(); public native CUpti_ActivityContext3 deviceId(int setter); + + /** + * The compute API kind. @see CUpti_ActivityComputeApiKind + */ + public native @Cast("uint16_t") short computeApiKind(); public native CUpti_ActivityContext3 computeApiKind(short setter); + + /** + * The ID for the NULL stream in this context + */ + public native @Cast("uint16_t") short nullStreamId(); public native CUpti_ActivityContext3 nullStreamId(short setter); + + /** + * The ID of the parent context. It would be 0 if + * context does not have parent + */ + public native @Cast("uint32_t") int parentContextId(); public native CUpti_ActivityContext3 parentContextId(int setter); + + /** + * This field indicates whether the context is a green context + */ + public native @Cast("uint8_t") byte isGreenContext(); public native CUpti_ActivityContext3 isGreenContext(byte setter); + + public native @Cast("uint8_t") byte padding(); public native CUpti_ActivityContext3 padding(byte setter); + + /** + * Number of multiprocessors assigned to the green context + * Invalid if the field 'isGreenContext' is 0 + */ + public native @Cast("uint16_t") short numMultiprocessors(); public native CUpti_ActivityContext3 numMultiprocessors(short setter); + + /** + * This field indicates the CIG mode + */ + public native @Cast("CUpti_ContextCigMode") int cigMode(); public native CUpti_ActivityContext3 cigMode(int setter); + + public native @Cast("uint32_t") int padding2(); public native CUpti_ActivityContext3 padding2(int setter); + +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityCudaEvent.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityCudaEvent.java new file mode 100644 index 00000000000..9ab28de72de --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityCudaEvent.java @@ -0,0 +1,69 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for CUDA event. + * + * This activity is used to track recorded events. + * (CUPTI_ACTIVITY_KIND_CUDA_EVENT). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityCudaEvent extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityCudaEvent() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityCudaEvent(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityCudaEvent(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityCudaEvent position(long position) { + return (CUpti_ActivityCudaEvent)super.position(position); + } + @Override public CUpti_ActivityCudaEvent getPointer(long i) { + return new CUpti_ActivityCudaEvent((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_CUDA_EVENT. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityCudaEvent kind(int setter); + + /** + * The correlation ID of the API to which this result is associated. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityCudaEvent correlationId(int setter); + + /** + * The ID of the context where the event was recorded. + */ + public native @Cast("uint32_t") int contextId(); public native CUpti_ActivityCudaEvent contextId(int setter); + + /** + * The compute stream where the event was recorded. + */ + public native @Cast("uint32_t") int streamId(); public native CUpti_ActivityCudaEvent streamId(int setter); + + /** + * A unique event ID to identify the event record. + */ + public native @Cast("uint32_t") int eventId(); public native CUpti_ActivityCudaEvent eventId(int setter); + + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint32_t") int pad(); public native CUpti_ActivityCudaEvent pad(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityDevice5.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityDevice5.java new file mode 100644 index 00000000000..00f6634161a --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityDevice5.java @@ -0,0 +1,245 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for a device. (CUDA 11.6 onwards) + * + * This activity record represents information about a GPU device + * (CUPTI_ACTIVITY_KIND_DEVICE). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityDevice5 extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityDevice5() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityDevice5(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityDevice5(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityDevice5 position(long position) { + return (CUpti_ActivityDevice5)super.position(position); + } + @Override public CUpti_ActivityDevice5 getPointer(long i) { + return new CUpti_ActivityDevice5((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_DEVICE. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityDevice5 kind(int setter); + + /** + * The flags associated with the device. @see CUpti_ActivityFlag + */ + public native @Cast("CUpti_ActivityFlag") int flags(); public native CUpti_ActivityDevice5 flags(int setter); + + /** + * The global memory bandwidth available on the device, in + * kBytes/sec. + */ + public native @Cast("uint64_t") long globalMemoryBandwidth(); public native CUpti_ActivityDevice5 globalMemoryBandwidth(long setter); + + /** + * The amount of global memory on the device, in bytes. + */ + public native @Cast("uint64_t") long globalMemorySize(); public native CUpti_ActivityDevice5 globalMemorySize(long setter); + + /** + * The amount of constant memory on the device, in bytes. + */ + public native @Cast("uint32_t") int constantMemorySize(); public native CUpti_ActivityDevice5 constantMemorySize(int setter); + + /** + * The size of the L2 cache on the device, in bytes. + */ + public native @Cast("uint32_t") int l2CacheSize(); public native CUpti_ActivityDevice5 l2CacheSize(int setter); + + /** + * The number of threads per warp on the device. + */ + public native @Cast("uint32_t") int numThreadsPerWarp(); public native CUpti_ActivityDevice5 numThreadsPerWarp(int setter); + + /** + * The core clock rate of the device, in kHz. + */ + public native @Cast("uint32_t") int coreClockRate(); public native CUpti_ActivityDevice5 coreClockRate(int setter); + + /** + * Number of memory copy engines on the device. + */ + public native @Cast("uint32_t") int numMemcpyEngines(); public native CUpti_ActivityDevice5 numMemcpyEngines(int setter); + + /** + * Number of multiprocessors on the device. + */ + public native @Cast("uint32_t") int numMultiprocessors(); public native CUpti_ActivityDevice5 numMultiprocessors(int setter); + + /** + * The maximum "instructions per cycle" possible on each device + * multiprocessor. + */ + public native @Cast("uint32_t") int maxIPC(); public native CUpti_ActivityDevice5 maxIPC(int setter); + + /** + * Maximum number of warps that can be present on a multiprocessor + * at any given time. + */ + public native @Cast("uint32_t") int maxWarpsPerMultiprocessor(); public native CUpti_ActivityDevice5 maxWarpsPerMultiprocessor(int setter); + + /** + * Maximum number of blocks that can be present on a multiprocessor + * at any given time. + */ + public native @Cast("uint32_t") int maxBlocksPerMultiprocessor(); public native CUpti_ActivityDevice5 maxBlocksPerMultiprocessor(int setter); + + /** + * Maximum amount of shared memory available per multiprocessor, in bytes. + */ + public native @Cast("uint32_t") int maxSharedMemoryPerMultiprocessor(); public native CUpti_ActivityDevice5 maxSharedMemoryPerMultiprocessor(int setter); + + /** + * Maximum number of 32-bit registers available per multiprocessor. + */ + public native @Cast("uint32_t") int maxRegistersPerMultiprocessor(); public native CUpti_ActivityDevice5 maxRegistersPerMultiprocessor(int setter); + + /** + * Maximum number of registers that can be allocated to a block. + */ + public native @Cast("uint32_t") int maxRegistersPerBlock(); public native CUpti_ActivityDevice5 maxRegistersPerBlock(int setter); + + /** + * Maximum amount of shared memory that can be assigned to a block, + * in bytes. + */ + public native @Cast("uint32_t") int maxSharedMemoryPerBlock(); public native CUpti_ActivityDevice5 maxSharedMemoryPerBlock(int setter); + + /** + * Maximum number of threads allowed in a block. + */ + public native @Cast("uint32_t") int maxThreadsPerBlock(); public native CUpti_ActivityDevice5 maxThreadsPerBlock(int setter); + + /** + * Maximum allowed X dimension for a block. + */ + public native @Cast("uint32_t") int maxBlockDimX(); public native CUpti_ActivityDevice5 maxBlockDimX(int setter); + + /** + * Maximum allowed Y dimension for a block. + */ + public native @Cast("uint32_t") int maxBlockDimY(); public native CUpti_ActivityDevice5 maxBlockDimY(int setter); + + /** + * Maximum allowed Z dimension for a block. + */ + public native @Cast("uint32_t") int maxBlockDimZ(); public native CUpti_ActivityDevice5 maxBlockDimZ(int setter); + + /** + * Maximum allowed X dimension for a grid. + */ + public native @Cast("uint32_t") int maxGridDimX(); public native CUpti_ActivityDevice5 maxGridDimX(int setter); + + /** + * Maximum allowed Y dimension for a grid. + */ + public native @Cast("uint32_t") int maxGridDimY(); public native CUpti_ActivityDevice5 maxGridDimY(int setter); + + /** + * Maximum allowed Z dimension for a grid. + */ + public native @Cast("uint32_t") int maxGridDimZ(); public native CUpti_ActivityDevice5 maxGridDimZ(int setter); + + /** + * Compute capability for the device, major number. + */ + public native @Cast("uint32_t") int computeCapabilityMajor(); public native CUpti_ActivityDevice5 computeCapabilityMajor(int setter); + + /** + * Compute capability for the device, minor number. + */ + public native @Cast("uint32_t") int computeCapabilityMinor(); public native CUpti_ActivityDevice5 computeCapabilityMinor(int setter); + + /** + * The device ID. + */ + public native @Cast("uint32_t") int id(); public native CUpti_ActivityDevice5 id(int setter); + + /** + * ECC enabled flag for device + */ + public native @Cast("uint32_t") int eccEnabled(); public native CUpti_ActivityDevice5 eccEnabled(int setter); + + /** + * The device UUID. This value is the globally unique immutable + * alphanumeric identifier of the device. + */ + public native @ByRef CUuuid uuid(); public native CUpti_ActivityDevice5 uuid(CUuuid setter); + +// #ifndef CUPTILP64 +// #endif + + /** + * The device name. This name is shared across all activity records + * representing instances of the device, and so should not be + * modified. + */ + public native @Cast("const char*") BytePointer name(); public native CUpti_ActivityDevice5 name(BytePointer setter); + + /** + * Flag to indicate whether the device is visible to CUDA. Users can + * set the device visibility using CUDA_VISIBLE_DEVICES environment + */ + public native @Cast("uint8_t") byte isCudaVisible(); public native CUpti_ActivityDevice5 isCudaVisible(byte setter); + + /** + * MIG enabled flag for device + */ + public native @Cast("uint8_t") byte isMigEnabled(); public native CUpti_ActivityDevice5 isMigEnabled(byte setter); + + public native @Cast("uint8_t") byte reserved(int i); public native CUpti_ActivityDevice5 reserved(int i, byte setter); + @MemberGetter public native @Cast("uint8_t*") BytePointer reserved(); + + /** + * GPU Instance id for MIG enabled devices. + * If mig mode is disabled value is set to UINT32_MAX + */ + public native @Cast("uint32_t") int gpuInstanceId(); public native CUpti_ActivityDevice5 gpuInstanceId(int setter); + + /** + * Compute Instance id for MIG enabled devices. + * If mig mode is disabled value is set to UINT32_MAX + */ + public native @Cast("uint32_t") int computeInstanceId(); public native CUpti_ActivityDevice5 computeInstanceId(int setter); + + /** + * The MIG UUID. This value is the globally unique immutable + * alphanumeric identifier of the device. + */ + public native @ByRef CUuuid migUuid(); public native CUpti_ActivityDevice5 migUuid(CUuuid setter); + + /** + * Numa (Non-uniform memory access) information for device + * GPU is a NUMA node or not + */ + public native @Cast("uint32_t") int isNumaNode(); public native CUpti_ActivityDevice5 isNumaNode(int setter); + + /** + * Numa (Non-uniform memory access) information for device + * NUMA node ID of the GPU memory + * if GPU is not a NUMA node, it returns invalidNumaId + */ + public native @Cast("uint32_t") int numaId(); public native CUpti_ActivityDevice5 numaId(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityDeviceAttribute.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityDeviceAttribute.java new file mode 100644 index 00000000000..e98cd57fb18 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityDeviceAttribute.java @@ -0,0 +1,79 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for a device attribute. + * + * This activity record represents information about a GPU device: + * either a CUpti_DeviceAttribute or CUdevice_attribute value + * (CUPTI_ACTIVITY_KIND_DEVICE_ATTRIBUTE). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityDeviceAttribute extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityDeviceAttribute() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityDeviceAttribute(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityDeviceAttribute(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityDeviceAttribute position(long position) { + return (CUpti_ActivityDeviceAttribute)super.position(position); + } + @Override public CUpti_ActivityDeviceAttribute getPointer(long i) { + return new CUpti_ActivityDeviceAttribute((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be + * CUPTI_ACTIVITY_KIND_DEVICE_ATTRIBUTE. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityDeviceAttribute kind(int setter); + + /** + * The flags associated with the device. @see CUpti_ActivityFlag + */ + public native @Cast("CUpti_ActivityFlag") int flags(); public native CUpti_ActivityDeviceAttribute flags(int setter); + + /** + * The ID of the device that this attribute applies to. + */ + public native @Cast("uint32_t") int deviceId(); public native CUpti_ActivityDeviceAttribute deviceId(int setter); + + /** + * The attribute, either a CUpti_DeviceAttribute or + * CUdevice_attribute. Flag + * CUPTI_ACTIVITY_FLAG_DEVICE_ATTRIBUTE_CUDEVICE is used to indicate + * what kind of attribute this is. If + * CUPTI_ACTIVITY_FLAG_DEVICE_ATTRIBUTE_CUDEVICE is 1 then + * CUdevice_attribute field is value, otherwise + * CUpti_DeviceAttribute field is valid. + */ + @Name("attribute.cu") public native @Cast("CUdevice_attribute") int attribute_cu(); public native CUpti_ActivityDeviceAttribute attribute_cu(int setter); + @Name("attribute.cupti") public native @Cast("CUpti_DeviceAttribute") int attribute_cupti(); public native CUpti_ActivityDeviceAttribute attribute_cupti(int setter); + + /** + * The value for the attribute. See CUpti_DeviceAttribute and + * CUdevice_attribute for the type of the value for a given + * attribute. + */ + @Name("value.vDouble") public native double value_vDouble(); public native CUpti_ActivityDeviceAttribute value_vDouble(double setter); + @Name("value.vUint32") public native @Cast("uint32_t") int value_vUint32(); public native CUpti_ActivityDeviceAttribute value_vUint32(int setter); + @Name("value.vUint64") public native @Cast("uint64_t") long value_vUint64(); public native CUpti_ActivityDeviceAttribute value_vUint64(long setter); + @Name("value.vInt32") public native int value_vInt32(); public native CUpti_ActivityDeviceAttribute value_vInt32(int setter); + @Name("value.vInt64") public native @Cast("int64_t") long value_vInt64(); public native CUpti_ActivityDeviceAttribute value_vInt64(long setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityEnvironment.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityEnvironment.java new file mode 100644 index 00000000000..e8abea69744 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityEnvironment.java @@ -0,0 +1,120 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for CUPTI environmental data. + * + * This activity record provides CUPTI environmental data, include + * power, clocks, and thermals. This information is sampled at + * various rates and returned in this activity record. The consumer + * of the record needs to check the environmentKind field to figure + * out what kind of environmental record this is. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityEnvironment extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityEnvironment() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityEnvironment(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityEnvironment(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityEnvironment position(long position) { + return (CUpti_ActivityEnvironment)super.position(position); + } + @Override public CUpti_ActivityEnvironment getPointer(long i) { + return new CUpti_ActivityEnvironment((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_ENVIRONMENT. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityEnvironment kind(int setter); + + /** + * The ID of the device + */ + public native @Cast("uint32_t") int deviceId(); public native CUpti_ActivityEnvironment deviceId(int setter); + + /** + * The timestamp when this sample was retrieved, in ns. A value of 0 + * indicates that timestamp information could not be collected for + * the marker. + */ + public native @Cast("uint64_t") long timestamp(); public native CUpti_ActivityEnvironment timestamp(long setter); + + /** + * The kind of data reported in this record. + */ + public native @Cast("CUpti_ActivityEnvironmentKind") int environmentKind(); public native CUpti_ActivityEnvironment environmentKind(int setter); + + /** + * Data returned for CUPTI_ACTIVITY_ENVIRONMENT_SPEED environment + * kind. + */ + /** + * The SM frequency in MHz + */ + @Name("data.speed.smClock") public native @Cast("uint32_t") int data_speed_smClock(); public native CUpti_ActivityEnvironment data_speed_smClock(int setter); + + /** + * The memory frequency in MHz + */ + @Name("data.speed.memoryClock") public native @Cast("uint32_t") int data_speed_memoryClock(); public native CUpti_ActivityEnvironment data_speed_memoryClock(int setter); + + /** + * The PCIe link generation. + */ + @Name("data.speed.pcieLinkGen") public native @Cast("uint32_t") int data_speed_pcieLinkGen(); public native CUpti_ActivityEnvironment data_speed_pcieLinkGen(int setter); + + /** + * The PCIe link width. + */ + @Name("data.speed.pcieLinkWidth") public native @Cast("uint32_t") int data_speed_pcieLinkWidth(); public native CUpti_ActivityEnvironment data_speed_pcieLinkWidth(int setter); + + /** + * The clocks throttle reasons. + */ + @Name("data.speed.clocksThrottleReasons") public native @Cast("CUpti_EnvironmentClocksThrottleReason") int data_speed_clocksThrottleReasons(); public native CUpti_ActivityEnvironment data_speed_clocksThrottleReasons(int setter); + + /** + * Data returned for CUPTI_ACTIVITY_ENVIRONMENT_TEMPERATURE + * environment kind. + */ + /** + * The GPU temperature in degrees C. + */ + @Name("data.temperature.gpuTemperature") public native @Cast("uint32_t") int data_temperature_gpuTemperature(); public native CUpti_ActivityEnvironment data_temperature_gpuTemperature(int setter); + + /** + * Data returned for CUPTI_ACTIVITY_ENVIRONMENT_POWER environment kind. + * The power in milliwatts consumed by GPU and associated circuitry. + * The power in milliwatts that will trigger power management algorithm. + */ + + @Name("data.power.power") public native @Cast("uint32_t") int data_power_power(); public native CUpti_ActivityEnvironment data_power_power(int setter); + @Name("data.power.powerLimit") public native @Cast("uint32_t") int data_power_powerLimit(); public native CUpti_ActivityEnvironment data_power_powerLimit(int setter); + + /** + * Data returned for CUPTI_ACTIVITY_ENVIRONMENT_COOLING + * environment kind. + */ + /** + * The fan speed as percentage of maximum. + */ + @Name("data.cooling.fanSpeed") public native @Cast("uint32_t") int data_cooling_fanSpeed(); public native CUpti_ActivityEnvironment data_cooling_fanSpeed(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityEvent.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityEvent.java new file mode 100644 index 00000000000..24af0ef85ca --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityEvent.java @@ -0,0 +1,70 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for a CUPTI event. + * + * This activity record represents a CUPTI event value + * (CUPTI_ACTIVITY_KIND_EVENT). This activity record kind is not + * produced by the activity API but is included for completeness and + * ease-of-use. Profile frameworks built on top of CUPTI that collect + * event data may choose to use this type to store the collected event + * data. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityEvent extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityEvent() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityEvent(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityEvent(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityEvent position(long position) { + return (CUpti_ActivityEvent)super.position(position); + } + @Override public CUpti_ActivityEvent getPointer(long i) { + return new CUpti_ActivityEvent((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_EVENT. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityEvent kind(int setter); + + /** + * The event ID. + */ + public native @Cast("CUpti_EventID") int id(); public native CUpti_ActivityEvent id(int setter); + + /** + * The event value. + */ + public native @Cast("uint64_t") long value(); public native CUpti_ActivityEvent value(long setter); + + /** + * The event domain ID. + */ + public native @Cast("CUpti_EventDomainID") int domain(); public native CUpti_ActivityEvent domain(int setter); + + /** + * The correlation ID of the event. Use of this ID is user-defined, + * but typically this ID value will equal the correlation ID of the + * kernel for which the event was gathered. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityEvent correlationId(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityEventInstance.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityEventInstance.java new file mode 100644 index 00000000000..e56dc2eb3e1 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityEventInstance.java @@ -0,0 +1,85 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for a CUPTI event with instance + * information. + * + * This activity record represents the a CUPTI event value for a + * specific event domain instance + * (CUPTI_ACTIVITY_KIND_EVENT_INSTANCE). This activity record kind is + * not produced by the activity API but is included for completeness + * and ease-of-use. Profile frameworks built on top of CUPTI that + * collect event data may choose to use this type to store the + * collected event data. This activity record should be used when + * event domain instance information needs to be associated with the + * event. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityEventInstance extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityEventInstance() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityEventInstance(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityEventInstance(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityEventInstance position(long position) { + return (CUpti_ActivityEventInstance)super.position(position); + } + @Override public CUpti_ActivityEventInstance getPointer(long i) { + return new CUpti_ActivityEventInstance((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be + * CUPTI_ACTIVITY_KIND_EVENT_INSTANCE. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityEventInstance kind(int setter); + + /** + * The event ID. + */ + public native @Cast("CUpti_EventID") int id(); public native CUpti_ActivityEventInstance id(int setter); + + /** + * The event domain ID. + */ + public native @Cast("CUpti_EventDomainID") int domain(); public native CUpti_ActivityEventInstance domain(int setter); + + /** + * The event domain instance. + */ + public native @Cast("uint32_t") int instance(); public native CUpti_ActivityEventInstance instance(int setter); + + /** + * The event value. + */ + public native @Cast("uint64_t") long value(); public native CUpti_ActivityEventInstance value(long setter); + + /** + * The correlation ID of the event. Use of this ID is user-defined, + * but typically this ID value will equal the correlation ID of the + * kernel for which the event was gathered. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityEventInstance correlationId(int setter); + + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint32_t") int pad(); public native CUpti_ActivityEventInstance pad(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityExternalCorrelation.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityExternalCorrelation.java new file mode 100644 index 00000000000..50aa3e329fa --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityExternalCorrelation.java @@ -0,0 +1,69 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for correlation with external records + * + * This activity record correlates native CUDA records (e.g. CUDA Driver API, + * kernels, memcpys, ...) with records from external APIs such as OpenACC. + * (CUPTI_ACTIVITY_KIND_EXTERNAL_CORRELATION). + * + * @see CUpti_ActivityKind + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityExternalCorrelation extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityExternalCorrelation() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityExternalCorrelation(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityExternalCorrelation(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityExternalCorrelation position(long position) { + return (CUpti_ActivityExternalCorrelation)super.position(position); + } + @Override public CUpti_ActivityExternalCorrelation getPointer(long i) { + return new CUpti_ActivityExternalCorrelation((Pointer)this).offsetAddress(i); + } + + /** + * The kind of this activity. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityExternalCorrelation kind(int setter); + + /** + * The kind of external API this record correlated to. + */ + public native @Cast("CUpti_ExternalCorrelationKind") int externalKind(); public native CUpti_ActivityExternalCorrelation externalKind(int setter); + + /** + * The correlation ID of the associated non-CUDA API record. + * The exact field in the associated external record depends + * on that record's activity kind (@see externalKind). + */ + public native @Cast("uint64_t") long externalId(); public native CUpti_ActivityExternalCorrelation externalId(long setter); + + /** + * The correlation ID of the associated CUDA driver or runtime API record. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityExternalCorrelation correlationId(int setter); + + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint32_t") int reserved(); public native CUpti_ActivityExternalCorrelation reserved(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityFunction.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityFunction.java new file mode 100644 index 00000000000..91e284f312b --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityFunction.java @@ -0,0 +1,79 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for global/device functions. + * + * This activity records function name and corresponding module + * information. + * (CUPTI_ACTIVITY_KIND_FUNCTION). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityFunction extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityFunction() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityFunction(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityFunction(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityFunction position(long position) { + return (CUpti_ActivityFunction)super.position(position); + } + @Override public CUpti_ActivityFunction getPointer(long i) { + return new CUpti_ActivityFunction((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_FUNCTION. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityFunction kind(int setter); + + /** + * ID to uniquely identify the record + */ + public native @Cast("uint32_t") int id(); public native CUpti_ActivityFunction id(int setter); + + /** + * The ID of the context where the function is launched. + */ + public native @Cast("uint32_t") int contextId(); public native CUpti_ActivityFunction contextId(int setter); + + /** + * The module ID in which this global/device function is present. + */ + public native @Cast("uint32_t") int moduleId(); public native CUpti_ActivityFunction moduleId(int setter); + + /** + * The function's unique symbol index in the module. + */ + public native @Cast("uint32_t") int functionIndex(); public native CUpti_ActivityFunction functionIndex(int setter); + +// #ifdef CUPTILP64 + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint32_t") int pad(); public native CUpti_ActivityFunction pad(int setter); +// #endif + + /** + * The name of the function. This name is shared across all activity + * records representing the same kernel, and so should not be + * modified. + */ + public native @Cast("const char*") BytePointer name(); public native CUpti_ActivityFunction name(BytePointer setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityGlobalAccess3.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityGlobalAccess3.java new file mode 100644 index 00000000000..92ce95a6070 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityGlobalAccess3.java @@ -0,0 +1,95 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for source-level global + * access. + * + * This activity records the locations of the global + * accesses in the source (CUPTI_ACTIVITY_KIND_GLOBAL_ACCESS). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityGlobalAccess3 extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityGlobalAccess3() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityGlobalAccess3(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityGlobalAccess3(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityGlobalAccess3 position(long position) { + return (CUpti_ActivityGlobalAccess3)super.position(position); + } + @Override public CUpti_ActivityGlobalAccess3 getPointer(long i) { + return new CUpti_ActivityGlobalAccess3((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_GLOBAL_ACCESS. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityGlobalAccess3 kind(int setter); + + /** + * The properties of this global access. + */ + public native @Cast("CUpti_ActivityFlag") int flags(); public native CUpti_ActivityGlobalAccess3 flags(int setter); + + /** + * The ID for source locator. + */ + public native @Cast("uint32_t") int sourceLocatorId(); public native CUpti_ActivityGlobalAccess3 sourceLocatorId(int setter); + + /** + * The correlation ID of the kernel to which this result is associated. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityGlobalAccess3 correlationId(int setter); + + /** + * Correlation ID with global/device function name + */ + public native @Cast("uint32_t") int functionId(); public native CUpti_ActivityGlobalAccess3 functionId(int setter); + + /** + * The number of times this instruction was executed per warp. It will be incremented + * when at least one of thread among warp is active with predicate and condition code + * evaluating to true. + */ + public native @Cast("uint32_t") int executed(); public native CUpti_ActivityGlobalAccess3 executed(int setter); + + /** + * The pc offset for the access. + */ + public native @Cast("uint64_t") long pcOffset(); public native CUpti_ActivityGlobalAccess3 pcOffset(long setter); + + /** + * This increments each time when this instruction is executed by number of + * threads that executed this instruction with predicate and condition code + * evaluating to true. + */ + public native @Cast("uint64_t") long threadsExecuted(); public native CUpti_ActivityGlobalAccess3 threadsExecuted(long setter); + + /** + * The total number of 32 bytes transactions to L2 cache generated by this + access + */ + public native @Cast("uint64_t") long l2_transactions(); public native CUpti_ActivityGlobalAccess3 l2_transactions(long setter); + + /** + * The minimum number of L2 transactions possible based on the access pattern. + */ + public native @Cast("uint64_t") long theoreticalL2Transactions(); public native CUpti_ActivityGlobalAccess3 theoreticalL2Transactions(long setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityGraphTrace2.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityGraphTrace2.java new file mode 100644 index 00000000000..760cf598d20 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityGraphTrace2.java @@ -0,0 +1,103 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + + +/** + * \brief The activity record for trace of graph execution. + * + * This activity record represents execution for a graph without giving visibility + * about the execution of its nodes. This is intended to reduce overheads in tracing + * each node. The activity kind is CUPTI_ACTIVITY_KIND_GRAPH_TRACE + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityGraphTrace2 extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityGraphTrace2() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityGraphTrace2(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityGraphTrace2(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityGraphTrace2 position(long position) { + return (CUpti_ActivityGraphTrace2)super.position(position); + } + @Override public CUpti_ActivityGraphTrace2 getPointer(long i) { + return new CUpti_ActivityGraphTrace2((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_GRAPH_TRACE + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityGraphTrace2 kind(int setter); + + /** + * The correlation ID of the graph launch. Each graph launch is + * assigned a unique correlation ID that is identical to the + * correlation ID in the driver API activity record that launched + * the graph. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityGraphTrace2 correlationId(int setter); + + /** + * The start timestamp for the graph execution, in ns. A value of 0 + * for both the start and end timestamps indicates that timestamp + * information could not be collected for the graph. + */ + public native @Cast("uint64_t") long start(); public native CUpti_ActivityGraphTrace2 start(long setter); + + /** + * The end timestamp for the graph execution, in ns. A value of 0 + * for both the start and end timestamps indicates that timestamp + * information could not be collected for the graph. + */ + public native @Cast("uint64_t") long end(); public native CUpti_ActivityGraphTrace2 end(long setter); + + /** + * The ID of the device where the first node of the graph is executed. + */ + public native @Cast("uint32_t") int deviceId(); public native CUpti_ActivityGraphTrace2 deviceId(int setter); + + /** + * The unique ID of the graph that is launched. + */ + public native @Cast("uint32_t") int graphId(); public native CUpti_ActivityGraphTrace2 graphId(int setter); + + /** + * The ID of the context where the first node of the graph is executed. + */ + public native @Cast("uint32_t") int contextId(); public native CUpti_ActivityGraphTrace2 contextId(int setter); + + /** + * The ID of the stream where the graph is being launched. + */ + public native @Cast("uint32_t") int streamId(); public native CUpti_ActivityGraphTrace2 streamId(int setter); + + /** + * This field is reserved for internal use + */ + public native Pointer reserved(); public native CUpti_ActivityGraphTrace2 reserved(Pointer setter); + + /** + * The ID of the device where last node of the graph is executed + */ + public native @Cast("uint32_t") int endDeviceId(); public native CUpti_ActivityGraphTrace2 endDeviceId(int setter); + + /** + * The ID of the context where the last node of the graph is executed. + */ + public native @Cast("uint32_t") int endContextId(); public native CUpti_ActivityGraphTrace2 endContextId(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityInstantaneousEvent.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityInstantaneousEvent.java new file mode 100644 index 00000000000..30339f0c6ed --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityInstantaneousEvent.java @@ -0,0 +1,74 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + + +/** + * \brief The activity record for an instantaneous CUPTI event. + * + * This activity record represents a CUPTI event value + * (CUPTI_ACTIVITY_KIND_EVENT) sampled at a particular instant. + * This activity record kind is not produced by the activity API but is + * included for completeness and ease-of-use. Profiler frameworks built on + * top of CUPTI that collect event data at a particular time may choose to + * use this type to store the collected event data. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityInstantaneousEvent extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityInstantaneousEvent() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityInstantaneousEvent(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityInstantaneousEvent(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityInstantaneousEvent position(long position) { + return (CUpti_ActivityInstantaneousEvent)super.position(position); + } + @Override public CUpti_ActivityInstantaneousEvent getPointer(long i) { + return new CUpti_ActivityInstantaneousEvent((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_INSTANTANEOUS_EVENT. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityInstantaneousEvent kind(int setter); + + /** + * The event ID. + */ + public native @Cast("CUpti_EventID") int id(); public native CUpti_ActivityInstantaneousEvent id(int setter); + + /** + * The event value. + */ + public native @Cast("uint64_t") long value(); public native CUpti_ActivityInstantaneousEvent value(long setter); + + /** + * The timestamp at which event is sampled + */ + public native @Cast("uint64_t") long timestamp(); public native CUpti_ActivityInstantaneousEvent timestamp(long setter); + + /** + * The device id + */ + public native @Cast("uint32_t") int deviceId(); public native CUpti_ActivityInstantaneousEvent deviceId(int setter); + + /** + * Undefined. reserved for internal use + */ + public native @Cast("uint32_t") int reserved(); public native CUpti_ActivityInstantaneousEvent reserved(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityInstantaneousEventInstance.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityInstantaneousEventInstance.java new file mode 100644 index 00000000000..c9204e872b9 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityInstantaneousEventInstance.java @@ -0,0 +1,83 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for an instantaneous CUPTI event + * with event domain instance information. + * + * This activity record represents the a CUPTI event value for a + * specific event domain instance + * (CUPTI_ACTIVITY_KIND_EVENT_INSTANCE) sampled at a particular instant. + * This activity record kind is not produced by the activity API but is + * included for completeness and ease-of-use. Profiler frameworks built on + * top of CUPTI that collect event data may choose to use this type to store the + * collected event data. This activity record should be used when + * event domain instance information needs to be associated with the + * event. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityInstantaneousEventInstance extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityInstantaneousEventInstance() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityInstantaneousEventInstance(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityInstantaneousEventInstance(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityInstantaneousEventInstance position(long position) { + return (CUpti_ActivityInstantaneousEventInstance)super.position(position); + } + @Override public CUpti_ActivityInstantaneousEventInstance getPointer(long i) { + return new CUpti_ActivityInstantaneousEventInstance((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_INSTANTANEOUS_EVENT_INSTANCE. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityInstantaneousEventInstance kind(int setter); + + /** + * The event ID. + */ + public native @Cast("CUpti_EventID") int id(); public native CUpti_ActivityInstantaneousEventInstance id(int setter); + + /** + * The event value. + */ + public native @Cast("uint64_t") long value(); public native CUpti_ActivityInstantaneousEventInstance value(long setter); + + /** + * The timestamp at which event is sampled + */ + public native @Cast("uint64_t") long timestamp(); public native CUpti_ActivityInstantaneousEventInstance timestamp(long setter); + + /** + * The device id + */ + public native @Cast("uint32_t") int deviceId(); public native CUpti_ActivityInstantaneousEventInstance deviceId(int setter); + + /** + * The event domain instance + */ + public native @Cast("uint8_t") byte instance(); public native CUpti_ActivityInstantaneousEventInstance instance(byte setter); + + /** + * Undefined. reserved for internal use + */ + public native @Cast("uint8_t") byte pad(int i); public native CUpti_ActivityInstantaneousEventInstance pad(int i, byte setter); + @MemberGetter public native @Cast("uint8_t*") BytePointer pad(); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityInstantaneousMetric.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityInstantaneousMetric.java new file mode 100644 index 00000000000..a31156f3d3e --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityInstantaneousMetric.java @@ -0,0 +1,79 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for an instantaneous CUPTI metric. + * + * This activity record represents the collection of a CUPTI metric + * value (CUPTI_ACTIVITY_KIND_METRIC) at a particular instance. + * This activity record kind is not produced by the activity API but + * is included for completeness and ease-of-use. Profiler frameworks built + * on top of CUPTI that collect metric data may choose to use this type to + * store the collected metric data. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityInstantaneousMetric extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityInstantaneousMetric() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityInstantaneousMetric(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityInstantaneousMetric(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityInstantaneousMetric position(long position) { + return (CUpti_ActivityInstantaneousMetric)super.position(position); + } + @Override public CUpti_ActivityInstantaneousMetric getPointer(long i) { + return new CUpti_ActivityInstantaneousMetric((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_INSTANTANEOUS_METRIC. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityInstantaneousMetric kind(int setter); + + /** + * The metric ID. + */ + public native @Cast("CUpti_MetricID") int id(); public native CUpti_ActivityInstantaneousMetric id(int setter); + + /** + * The metric value. + */ + public native @ByRef CUpti_MetricValue value(); public native CUpti_ActivityInstantaneousMetric value(CUpti_MetricValue setter); + + /** + * The timestamp at which metric is sampled + */ + public native @Cast("uint64_t") long timestamp(); public native CUpti_ActivityInstantaneousMetric timestamp(long setter); + + /** + * The device id + */ + public native @Cast("uint32_t") int deviceId(); public native CUpti_ActivityInstantaneousMetric deviceId(int setter); + + /** + * The properties of this metric. @see CUpti_ActivityFlag + */ + public native @Cast("uint8_t") byte flags(); public native CUpti_ActivityInstantaneousMetric flags(byte setter); + + /** + * Undefined. reserved for internal use + */ + public native @Cast("uint8_t") byte pad(int i); public native CUpti_ActivityInstantaneousMetric pad(int i, byte setter); + @MemberGetter public native @Cast("uint8_t*") BytePointer pad(); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityInstantaneousMetricInstance.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityInstantaneousMetricInstance.java new file mode 100644 index 00000000000..a934221b476 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityInstantaneousMetricInstance.java @@ -0,0 +1,88 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The instantaneous activity record for a CUPTI metric with instance + * information. +
+ * This activity record represents a CUPTI metric value + * for a specific metric domain instance + * (CUPTI_ACTIVITY_KIND_METRIC_INSTANCE) sampled at a particular time. This + * activity record kind is not produced by the activity API but is included for + * completeness and ease-of-use. Profiler frameworks built on top of + * CUPTI that collect metric data may choose to use this type to store + * the collected metric data. This activity record should be used when + * metric domain instance information needs to be associated with the + * metric. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityInstantaneousMetricInstance extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityInstantaneousMetricInstance() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityInstantaneousMetricInstance(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityInstantaneousMetricInstance(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityInstantaneousMetricInstance position(long position) { + return (CUpti_ActivityInstantaneousMetricInstance)super.position(position); + } + @Override public CUpti_ActivityInstantaneousMetricInstance getPointer(long i) { + return new CUpti_ActivityInstantaneousMetricInstance((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_INSTANTANEOUS_METRIC_INSTANCE. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityInstantaneousMetricInstance kind(int setter); + + /** + * The metric ID. + */ + public native @Cast("CUpti_MetricID") int id(); public native CUpti_ActivityInstantaneousMetricInstance id(int setter); + + /** + * The metric value. + */ + public native @ByRef CUpti_MetricValue value(); public native CUpti_ActivityInstantaneousMetricInstance value(CUpti_MetricValue setter); + + /** + * The timestamp at which metric is sampled + */ + public native @Cast("uint64_t") long timestamp(); public native CUpti_ActivityInstantaneousMetricInstance timestamp(long setter); + + /** + * The device id + */ + public native @Cast("uint32_t") int deviceId(); public native CUpti_ActivityInstantaneousMetricInstance deviceId(int setter); + + /** + * The properties of this metric. @see CUpti_ActivityFlag + */ + public native @Cast("uint8_t") byte flags(); public native CUpti_ActivityInstantaneousMetricInstance flags(byte setter); + + /** + * The metric domain instance + */ + public native @Cast("uint8_t") byte instance(); public native CUpti_ActivityInstantaneousMetricInstance instance(byte setter); + + /** + * Undefined. reserved for internal use + */ + public native @Cast("uint8_t") byte pad(int i); public native CUpti_ActivityInstantaneousMetricInstance pad(int i, byte setter); + @MemberGetter public native @Cast("uint8_t*") BytePointer pad(); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityInstructionCorrelation.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityInstructionCorrelation.java new file mode 100644 index 00000000000..4d8bffe6003 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityInstructionCorrelation.java @@ -0,0 +1,71 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for source-level sass/source + * line-by-line correlation. + * + * This activity records source level sass/source correlation + * information. + * (CUPTI_ACTIVITY_KIND_INSTRUCTION_CORRELATION). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityInstructionCorrelation extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityInstructionCorrelation() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityInstructionCorrelation(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityInstructionCorrelation(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityInstructionCorrelation position(long position) { + return (CUpti_ActivityInstructionCorrelation)super.position(position); + } + @Override public CUpti_ActivityInstructionCorrelation getPointer(long i) { + return new CUpti_ActivityInstructionCorrelation((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_INSTRUCTION_CORRELATION. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityInstructionCorrelation kind(int setter); + + /** + * The properties of this instruction. + */ + public native @Cast("CUpti_ActivityFlag") int flags(); public native CUpti_ActivityInstructionCorrelation flags(int setter); + + /** + * The ID for source locator. + */ + public native @Cast("uint32_t") int sourceLocatorId(); public native CUpti_ActivityInstructionCorrelation sourceLocatorId(int setter); + + /** + * Correlation ID with global/device function name + */ + public native @Cast("uint32_t") int functionId(); public native CUpti_ActivityInstructionCorrelation functionId(int setter); + + /** + * The pc offset for the instruction. + */ + public native @Cast("uint32_t") int pcOffset(); public native CUpti_ActivityInstructionCorrelation pcOffset(int setter); + + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint32_t") int pad(); public native CUpti_ActivityInstructionCorrelation pad(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityInstructionExecution.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityInstructionExecution.java new file mode 100644 index 00000000000..7f5487c6b0f --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityInstructionExecution.java @@ -0,0 +1,92 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for source-level instruction execution. + * + * This activity records result for source level instruction execution. + * (CUPTI_ACTIVITY_KIND_INSTRUCTION_EXECUTION). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityInstructionExecution extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityInstructionExecution() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityInstructionExecution(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityInstructionExecution(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityInstructionExecution position(long position) { + return (CUpti_ActivityInstructionExecution)super.position(position); + } + @Override public CUpti_ActivityInstructionExecution getPointer(long i) { + return new CUpti_ActivityInstructionExecution((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_INSTRUCTION_EXECUTION. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityInstructionExecution kind(int setter); + + /** + * The properties of this instruction execution. + */ + public native @Cast("CUpti_ActivityFlag") int flags(); public native CUpti_ActivityInstructionExecution flags(int setter); + + /** + * The ID for source locator. + */ + public native @Cast("uint32_t") int sourceLocatorId(); public native CUpti_ActivityInstructionExecution sourceLocatorId(int setter); + + /** + * The correlation ID of the kernel to which this result is associated. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityInstructionExecution correlationId(int setter); + + /** + * Correlation ID with global/device function name + */ + public native @Cast("uint32_t") int functionId(); public native CUpti_ActivityInstructionExecution functionId(int setter); + + /** + * The pc offset for the instruction. + */ + public native @Cast("uint32_t") int pcOffset(); public native CUpti_ActivityInstructionExecution pcOffset(int setter); + + /** + * This increments each time when this instruction is executed by number + * of threads that executed this instruction, regardless of predicate or condition code. + */ + public native @Cast("uint64_t") long threadsExecuted(); public native CUpti_ActivityInstructionExecution threadsExecuted(long setter); + + /** + * This increments each time when this instruction is executed by number + * of threads that executed this instruction with predicate and condition code evaluating to true. + */ + public native @Cast("uint64_t") long notPredOffThreadsExecuted(); public native CUpti_ActivityInstructionExecution notPredOffThreadsExecuted(long setter); + + /** + * The number of times this instruction was executed per warp. It will be incremented + * regardless of predicate or condition code. + */ + public native @Cast("uint32_t") int executed(); public native CUpti_ActivityInstructionExecution executed(int setter); + + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint32_t") int pad(); public native CUpti_ActivityInstructionExecution pad(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityJit2.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityJit2.java new file mode 100644 index 00000000000..45a96e25bdc --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityJit2.java @@ -0,0 +1,116 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for JIT operations. + * This activity represents the JIT operations (compile, load, store) of a CUmodule + * from the Compute Cache. + * Gives the exact hashed path of where the cached module is loaded from, + * or where the module will be stored after Just-In-Time (JIT) compilation. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityJit2 extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityJit2() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityJit2(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityJit2(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityJit2 position(long position) { + return (CUpti_ActivityJit2)super.position(position); + } + @Override public CUpti_ActivityJit2 getPointer(long i) { + return new CUpti_ActivityJit2((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind must be CUPTI_ACTIVITY_KIND_JIT. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityJit2 kind(int setter); + + /** + * The JIT entry type. + */ + public native @Cast("CUpti_ActivityJitEntryType") int jitEntryType(); public native CUpti_ActivityJit2 jitEntryType(int setter); + + /** + * The JIT operation type. + */ + public native @Cast("CUpti_ActivityJitOperationType") int jitOperationType(); public native CUpti_ActivityJit2 jitOperationType(int setter); + + /** + * The device ID. + */ + public native @Cast("uint32_t") int deviceId(); public native CUpti_ActivityJit2 deviceId(int setter); + + /** + * The start timestamp for the JIT operation, in ns. A value of 0 for + * both the start and end timestamps indicates that timestamp + * information could not be collected for the JIT operation. + */ + public native @Cast("uint64_t") long start(); public native CUpti_ActivityJit2 start(long setter); + + /** + * The end timestamp for the JIT operation, in ns. A value of 0 for both + * the start and end timestamps indicates that timestamp information + * could not be collected for the JIT operation. + */ + public native @Cast("uint64_t") long end(); public native CUpti_ActivityJit2 end(long setter); + + /** + * The correlation ID of the JIT operation to which + * records belong to. Each JIT operation is + * assigned a unique correlation ID that is identical to the + * correlation ID in the driver or runtime API activity record that + * launched the JIT operation. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityJit2 correlationId(int setter); + + /** + * Internal use. + */ + public native @Cast("uint32_t") int padding(); public native CUpti_ActivityJit2 padding(int setter); + + /** + * The correlation ID to correlate JIT compilation, load and store operations. + * Each JIT compilation unit is assigned a unique correlation ID + * at the time of the JIT compilation. This correlation id can be used + * to find the matching JIT cache load/store records. + */ + public native @Cast("uint64_t") long jitOperationCorrelationId(); public native CUpti_ActivityJit2 jitOperationCorrelationId(long setter); + + /** + * The size of compute cache. + */ + public native @Cast("uint64_t") long cacheSize(); public native CUpti_ActivityJit2 cacheSize(long setter); + + /** + * The path where the fat binary is cached. + */ + public native @Cast("const char*") BytePointer cachePath(); public native CUpti_ActivityJit2 cachePath(BytePointer setter); + + /** + * The ID of the process where the JIT operation is executing. + */ + public native @Cast("uint32_t") int processId(); public native CUpti_ActivityJit2 processId(int setter); + + /** + * The ID of the thread where the JIT operation is executing. + */ + public native @Cast("uint32_t") int threadId(); public native CUpti_ActivityJit2 threadId(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityKernel9.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityKernel9.java new file mode 100644 index 00000000000..f0437a17317 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityKernel9.java @@ -0,0 +1,333 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for kernel. + * + * This activity record represents a kernel execution + * (CUPTI_ACTIVITY_KIND_KERNEL and + * CUPTI_ACTIVITY_KIND_CONCURRENT_KERNEL) + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityKernel9 extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityKernel9() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityKernel9(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityKernel9(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityKernel9 position(long position) { + return (CUpti_ActivityKernel9)super.position(position); + } + @Override public CUpti_ActivityKernel9 getPointer(long i) { + return new CUpti_ActivityKernel9((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_KERNEL or + * CUPTI_ACTIVITY_KIND_CONCURRENT_KERNEL. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityKernel9 kind(int setter); + + /** + * For devices with compute capability 7.0+ cacheConfig values are not updated + * in case field isSharedMemoryCarveoutRequested is set + */ + @Name("cacheConfig.both") public native @Cast("uint8_t") byte cacheConfig_both(); public native CUpti_ActivityKernel9 cacheConfig_both(byte setter); + /** + * The cache configuration requested by the kernel. The value is one + * of the CUfunc_cache enumeration values from cuda.h. + */ + @Name("cacheConfig.config.requested") public native @Cast("uint8_t") @NoOffset byte cacheConfig_config_requested(); public native CUpti_ActivityKernel9 cacheConfig_config_requested(byte setter); + + /** + * The cache configuration used for the kernel. The value is one of + * the CUfunc_cache enumeration values from cuda.h. + */ + @Name("cacheConfig.config.executed") public native @Cast("uint8_t") @NoOffset byte cacheConfig_config_executed(); public native CUpti_ActivityKernel9 cacheConfig_config_executed(byte setter); + + /** + * The shared memory configuration used for the kernel. The value is one of + * the CUsharedconfig enumeration values from cuda.h. + */ + public native @Cast("uint8_t") byte sharedMemoryConfig(); public native CUpti_ActivityKernel9 sharedMemoryConfig(byte setter); + + /** + * The number of registers required for each thread executing the + * kernel. + */ + public native @Cast("uint16_t") short registersPerThread(); public native CUpti_ActivityKernel9 registersPerThread(short setter); + + /** + * The partitioned global caching requested for the kernel. Partitioned + * global caching is required to enable caching on certain chips, such as + * devices with compute capability 5.2. + */ + public native @Cast("CUpti_ActivityPartitionedGlobalCacheConfig") int partitionedGlobalCacheRequested(); public native CUpti_ActivityKernel9 partitionedGlobalCacheRequested(int setter); + + /** + * The partitioned global caching executed for the kernel. Partitioned + * global caching is required to enable caching on certain chips, such as + * devices with compute capability 5.2. Partitioned global caching can be + * automatically disabled if the occupancy requirement of the launch cannot + * support caching. + */ + public native @Cast("CUpti_ActivityPartitionedGlobalCacheConfig") int partitionedGlobalCacheExecuted(); public native CUpti_ActivityKernel9 partitionedGlobalCacheExecuted(int setter); + + /** + * The start timestamp for the kernel execution, in ns. A value of 0 + * for both the start and end timestamps indicates that timestamp + * information could not be collected for the kernel. + */ + public native @Cast("uint64_t") long start(); public native CUpti_ActivityKernel9 start(long setter); + + /** + * The end timestamp for the kernel execution, in ns. A value of 0 + * for both the start and end timestamps indicates that timestamp + * information could not be collected for the kernel. + */ + public native @Cast("uint64_t") long end(); public native CUpti_ActivityKernel9 end(long setter); + + /** + * The completed timestamp for the kernel execution, in ns. It + * represents the completion of all it's child kernels and the + * kernel itself. A value of CUPTI_TIMESTAMP_UNKNOWN indicates that + * the completion time is unknown. + */ + public native @Cast("uint64_t") long completed(); public native CUpti_ActivityKernel9 completed(long setter); + + /** + * The ID of the device where the kernel is executing. + */ + public native @Cast("uint32_t") int deviceId(); public native CUpti_ActivityKernel9 deviceId(int setter); + + /** + * The ID of the context where the kernel is executing. + */ + public native @Cast("uint32_t") int contextId(); public native CUpti_ActivityKernel9 contextId(int setter); + + /** + * The ID of the stream where the kernel is executing. + */ + public native @Cast("uint32_t") int streamId(); public native CUpti_ActivityKernel9 streamId(int setter); + + /** + * The X-dimension grid size for the kernel. + */ + public native int gridX(); public native CUpti_ActivityKernel9 gridX(int setter); + + /** + * The Y-dimension grid size for the kernel. + */ + public native int gridY(); public native CUpti_ActivityKernel9 gridY(int setter); + + /** + * The Z-dimension grid size for the kernel. + */ + public native int gridZ(); public native CUpti_ActivityKernel9 gridZ(int setter); + + /** + * The X-dimension block size for the kernel. + */ + public native int blockX(); public native CUpti_ActivityKernel9 blockX(int setter); + + /** + * The Y-dimension block size for the kernel. + */ + public native int blockY(); public native CUpti_ActivityKernel9 blockY(int setter); + + /** + * The Z-dimension grid size for the kernel. + */ + public native int blockZ(); public native CUpti_ActivityKernel9 blockZ(int setter); + + /** + * The static shared memory allocated for the kernel, in bytes. + */ + public native int staticSharedMemory(); public native CUpti_ActivityKernel9 staticSharedMemory(int setter); + + /** + * The dynamic shared memory reserved for the kernel, in bytes. + */ + public native int dynamicSharedMemory(); public native CUpti_ActivityKernel9 dynamicSharedMemory(int setter); + + /** + * The amount of local memory reserved for each thread, in bytes. + */ + public native @Cast("uint32_t") int localMemoryPerThread(); public native CUpti_ActivityKernel9 localMemoryPerThread(int setter); + + /** + * The total amount of local memory reserved for the kernel, in + * bytes (deprecated in CUDA 11.8). + * Refer field localMemoryTotal_v2 + */ + public native @Cast("uint32_t") int localMemoryTotal(); public native CUpti_ActivityKernel9 localMemoryTotal(int setter); + + /** + * The correlation ID of the kernel. Each kernel execution is + * assigned a unique correlation ID that is identical to the + * correlation ID in the driver or runtime API activity record that + * launched the kernel. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityKernel9 correlationId(int setter); + + /** + * The grid ID of the kernel. Each kernel is assigned a unique + * grid ID at runtime. + */ + public native @Cast("int64_t") long gridId(); public native CUpti_ActivityKernel9 gridId(long setter); + + /** + * The name of the kernel. This name is shared across all activity + * records representing the same kernel, and so should not be + * modified. + */ + public native @Cast("const char*") BytePointer name(); public native CUpti_ActivityKernel9 name(BytePointer setter); + + /** + * Undefined. Reserved for internal use. + */ + public native Pointer reserved0(); public native CUpti_ActivityKernel9 reserved0(Pointer setter); + + /** + * The timestamp when the kernel is queued up in the command buffer, in ns. + * A value of CUPTI_TIMESTAMP_UNKNOWN indicates that the queued time + * could not be collected for the kernel. This timestamp is not collected + * by default. Use API \ref cuptiActivityEnableLatencyTimestamps() to + * enable collection. + * + * Command buffer is a buffer written by CUDA driver to send commands + * like kernel launch, memory copy etc to the GPU. All launches of CUDA + * kernels are asynchronous with respect to the host, the host requests + * the launch by writing commands into the command buffer, then returns + * without checking the GPU's progress. + */ + public native @Cast("uint64_t") long queued(); public native CUpti_ActivityKernel9 queued(long setter); + + /** + * The timestamp when the command buffer containing the kernel launch + * is submitted to the GPU, in ns. A value of CUPTI_TIMESTAMP_UNKNOWN + * indicates that the submitted time could not be collected for the kernel. + * This timestamp is not collected by default. Use API \ref + * cuptiActivityEnableLatencyTimestamps() to enable collection. + */ + public native @Cast("uint64_t") long submitted(); public native CUpti_ActivityKernel9 submitted(long setter); + + /** + * The indicates if the kernel was executed via a regular launch or via a + * single/multi device cooperative launch. @see CUpti_ActivityLaunchType + */ + public native @Cast("uint8_t") byte launchType(); public native CUpti_ActivityKernel9 launchType(byte setter); + + /** + * This indicates if CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT was + * updated for the kernel launch + */ + public native @Cast("uint8_t") byte isSharedMemoryCarveoutRequested(); public native CUpti_ActivityKernel9 isSharedMemoryCarveoutRequested(byte setter); + + /** + * Shared memory carveout value requested for the function in percentage of + * the total resource. The value will be updated only if field + * isSharedMemoryCarveoutRequested is set. + */ + public native @Cast("uint8_t") byte sharedMemoryCarveoutRequested(); public native CUpti_ActivityKernel9 sharedMemoryCarveoutRequested(byte setter); + + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint8_t") byte padding(); public native CUpti_ActivityKernel9 padding(byte setter); + + /** + * Shared memory size set by the driver. + */ + public native @Cast("uint32_t") int sharedMemoryExecuted(); public native CUpti_ActivityKernel9 sharedMemoryExecuted(int setter); + + /** + * The unique ID of the graph node that launched this kernel through graph launch APIs. + * This field will be 0 if the kernel is not launched through graph launch APIs. + */ + public native @Cast("uint64_t") long graphNodeId(); public native CUpti_ActivityKernel9 graphNodeId(long setter); + + /** + * The shared memory limit config for the kernel. This field shows whether user has opted for a + * higher per block limit of dynamic shared memory. + */ + public native @Cast("CUpti_FuncShmemLimitConfig") int shmemLimitConfig(); public native CUpti_ActivityKernel9 shmemLimitConfig(int setter); + + /** + * The unique ID of the graph that launched this kernel through graph launch APIs. + * This field will be 0 if the kernel is not launched through graph launch APIs. + */ + public native @Cast("uint32_t") int graphId(); public native CUpti_ActivityKernel9 graphId(int setter); + + /** + * The pointer to the access policy window. The structure CUaccessPolicyWindow is + * defined in cuda.h. + */ + public native @Cast("CUaccessPolicyWindow*") CUaccessPolicyWindow_v1 pAccessPolicyWindow(); public native CUpti_ActivityKernel9 pAccessPolicyWindow(CUaccessPolicyWindow_v1 setter); + + /** + * The ID of the HW channel on which the kernel is launched. + */ + public native @Cast("uint32_t") int channelID(); public native CUpti_ActivityKernel9 channelID(int setter); + + /** + * The type of the channel + */ + public native @Cast("CUpti_ChannelType") int channelType(); public native CUpti_ActivityKernel9 channelType(int setter); + + /** + * The X-dimension cluster size for the kernel. + * Field is valid for devices with compute capability 9.0 and higher + */ + public native @Cast("uint32_t") int clusterX(); public native CUpti_ActivityKernel9 clusterX(int setter); + + /** + * The Y-dimension cluster size for the kernel. + * Field is valid for devices with compute capability 9.0 and higher + */ + public native @Cast("uint32_t") int clusterY(); public native CUpti_ActivityKernel9 clusterY(int setter); + + /** + * The Z-dimension cluster size for the kernel. + * Field is valid for devices with compute capability 9.0 and higher + */ + public native @Cast("uint32_t") int clusterZ(); public native CUpti_ActivityKernel9 clusterZ(int setter); + + /** + * The cluster scheduling policy for the kernel. Refer CUclusterSchedulingPolicy + * Field is valid for devices with compute capability 9.0 and higher + */ + public native @Cast("uint32_t") int clusterSchedulingPolicy(); public native CUpti_ActivityKernel9 clusterSchedulingPolicy(int setter); + + /** + * The total amount of local memory reserved for the kernel, in + * bytes. + */ + public native @Cast("uint64_t") long localMemoryTotal_v2(); public native CUpti_ActivityKernel9 localMemoryTotal_v2(long setter); + + /** + * The maximum cluster size for the kernel + */ + public native @Cast("uint32_t") int maxPotentialClusterSize(); public native CUpti_ActivityKernel9 maxPotentialClusterSize(int setter); + + /** + * The maximum clusters that could co-exist on the target device for the kernel + */ + public native @Cast("uint32_t") int maxActiveClusters(); public native CUpti_ActivityKernel9 maxActiveClusters(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMarker2.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMarker2.java new file mode 100644 index 00000000000..e3b84128d1b --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMarker2.java @@ -0,0 +1,91 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record providing a marker which is an + * instantaneous point in time. + * + * The marker is specified with a descriptive name and unique id + * (CUPTI_ACTIVITY_KIND_MARKER). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityMarker2 extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityMarker2() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityMarker2(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityMarker2(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityMarker2 position(long position) { + return (CUpti_ActivityMarker2)super.position(position); + } + @Override public CUpti_ActivityMarker2 getPointer(long i) { + return new CUpti_ActivityMarker2((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_MARKER. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityMarker2 kind(int setter); + + /** + * The flags associated with the marker. @see CUpti_ActivityFlag + */ + public native @Cast("CUpti_ActivityFlag") int flags(); public native CUpti_ActivityMarker2 flags(int setter); + + /** + * The timestamp for the marker, in ns. A value of 0 indicates that + * timestamp information could not be collected for the marker. + */ + public native @Cast("uint64_t") long timestamp(); public native CUpti_ActivityMarker2 timestamp(long setter); + + /** + * The marker ID. + */ + public native @Cast("uint32_t") int id(); public native CUpti_ActivityMarker2 id(int setter); + + /** + * The kind of activity object associated with this marker. + */ + public native @Cast("CUpti_ActivityObjectKind") int objectKind(); public native CUpti_ActivityMarker2 objectKind(int setter); + + /** + * The identifier for the activity object associated with this + * marker. 'objectKind' indicates which ID is valid for this record. + */ + public native @ByRef CUpti_ActivityObjectKindId objectId(); public native CUpti_ActivityMarker2 objectId(CUpti_ActivityObjectKindId setter); + + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint32_t") int pad(); public native CUpti_ActivityMarker2 pad(int setter); + + + /** + * The marker name for an instantaneous or start marker. This will + * be NULL for an end marker. + */ + public native @Cast("const char*") BytePointer name(); public native CUpti_ActivityMarker2 name(BytePointer setter); + + /** + * The name of the domain to which this marker belongs to. + * This will be NULL for default domain. + */ + public native @Cast("const char*") BytePointer domain(); public native CUpti_ActivityMarker2 domain(BytePointer setter); + +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMarkerData.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMarkerData.java new file mode 100644 index 00000000000..7531cf23df5 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMarkerData.java @@ -0,0 +1,76 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record providing detailed information for a marker. + * + * The marker data contains color, payload, and category. + * (CUPTI_ACTIVITY_KIND_MARKER_DATA). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityMarkerData extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityMarkerData() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityMarkerData(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityMarkerData(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityMarkerData position(long position) { + return (CUpti_ActivityMarkerData)super.position(position); + } + @Override public CUpti_ActivityMarkerData getPointer(long i) { + return new CUpti_ActivityMarkerData((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be + * CUPTI_ACTIVITY_KIND_MARKER_DATA. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityMarkerData kind(int setter); + + /** + * The flags associated with the marker. @see CUpti_ActivityFlag + */ + public native @Cast("CUpti_ActivityFlag") int flags(); public native CUpti_ActivityMarkerData flags(int setter); + + /** + * The marker ID. + */ + public native @Cast("uint32_t") int id(); public native CUpti_ActivityMarkerData id(int setter); + + /** + * Defines the payload format for the value associated with the marker. + */ + public native @Cast("CUpti_MetricValueKind") int payloadKind(); public native CUpti_ActivityMarkerData payloadKind(int setter); + + /** + * The payload value. + */ + public native @ByRef CUpti_MetricValue payload(); public native CUpti_ActivityMarkerData payload(CUpti_MetricValue setter); + + /** + * The color for the marker. + */ + public native @Cast("uint32_t") int color(); public native CUpti_ActivityMarkerData color(int setter); + + /** + * The category for the marker. + */ + public native @Cast("uint32_t") int category(); public native CUpti_ActivityMarkerData category(int setter); + +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMemcpy5.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMemcpy5.java new file mode 100644 index 00000000000..2711cf1cfa2 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMemcpy5.java @@ -0,0 +1,156 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for memory copies. + * + * This activity record represents a memory copy + * (CUPTI_ACTIVITY_KIND_MEMCPY). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityMemcpy5 extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityMemcpy5() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityMemcpy5(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityMemcpy5(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityMemcpy5 position(long position) { + return (CUpti_ActivityMemcpy5)super.position(position); + } + @Override public CUpti_ActivityMemcpy5 getPointer(long i) { + return new CUpti_ActivityMemcpy5((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMCPY. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityMemcpy5 kind(int setter); + + /** + * The kind of the memory copy, stored as a byte to reduce record + * size. @see CUpti_ActivityMemcpyKind + */ + public native @Cast("uint8_t") byte copyKind(); public native CUpti_ActivityMemcpy5 copyKind(byte setter); + + /** + * The source memory kind read by the memory copy, stored as a byte + * to reduce record size. @see CUpti_ActivityMemoryKind + */ + public native @Cast("uint8_t") byte srcKind(); public native CUpti_ActivityMemcpy5 srcKind(byte setter); + + /** + * The destination memory kind read by the memory copy, stored as a + * byte to reduce record size. @see CUpti_ActivityMemoryKind + */ + public native @Cast("uint8_t") byte dstKind(); public native CUpti_ActivityMemcpy5 dstKind(byte setter); + + /** + * The flags associated with the memory copy. @see CUpti_ActivityFlag + */ + public native @Cast("uint8_t") byte flags(); public native CUpti_ActivityMemcpy5 flags(byte setter); + + /** + * The number of bytes transferred by the memory copy. + */ + public native @Cast("uint64_t") long bytes(); public native CUpti_ActivityMemcpy5 bytes(long setter); + + /** + * The start timestamp for the memory copy, in ns. A value of 0 for + * both the start and end timestamps indicates that timestamp + * information could not be collected for the memory copy. + */ + public native @Cast("uint64_t") long start(); public native CUpti_ActivityMemcpy5 start(long setter); + + /** + * The end timestamp for the memory copy, in ns. A value of 0 for + * both the start and end timestamps indicates that timestamp + * information could not be collected for the memory copy. + */ + public native @Cast("uint64_t") long end(); public native CUpti_ActivityMemcpy5 end(long setter); + + /** + * The ID of the device where the memory copy is occurring. + */ + public native @Cast("uint32_t") int deviceId(); public native CUpti_ActivityMemcpy5 deviceId(int setter); + + /** + * The ID of the context where the memory copy is occurring. + */ + public native @Cast("uint32_t") int contextId(); public native CUpti_ActivityMemcpy5 contextId(int setter); + + /** + * The ID of the stream where the memory copy is occurring. + */ + public native @Cast("uint32_t") int streamId(); public native CUpti_ActivityMemcpy5 streamId(int setter); + + /** + * The correlation ID of the memory copy. Each memory copy is + * assigned a unique correlation ID that is identical to the + * correlation ID in the driver API activity record that launched + * the memory copy. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityMemcpy5 correlationId(int setter); + + /** + * The runtime correlation ID of the memory copy. Each memory copy + * is assigned a unique runtime correlation ID that is identical to + * the correlation ID in the runtime API activity record that + * launched the memory copy. + */ + public native @Cast("uint32_t") int runtimeCorrelationId(); public native CUpti_ActivityMemcpy5 runtimeCorrelationId(int setter); + +// #ifdef CUPTILP64 + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint32_t") int pad(); public native CUpti_ActivityMemcpy5 pad(int setter); +// #endif + + /** + * Undefined. Reserved for internal use. + */ + public native Pointer reserved0(); public native CUpti_ActivityMemcpy5 reserved0(Pointer setter); + + /** + * The unique ID of the graph node that executed this memcpy through graph launch. + * This field will be 0 if the memcpy is not done through graph launch. + */ + public native @Cast("uint64_t") long graphNodeId(); public native CUpti_ActivityMemcpy5 graphNodeId(long setter); + + /** + * The unique ID of the graph that executed this memcpy through graph launch. + * This field will be 0 if the memcpy is not done through graph launch. + */ + public native @Cast("uint32_t") int graphId(); public native CUpti_ActivityMemcpy5 graphId(int setter); + + /** + * The ID of the HW channel on which the memory copy is occurring. + */ + public native @Cast("uint32_t") int channelID(); public native CUpti_ActivityMemcpy5 channelID(int setter); + + /** + * The type of the channel + */ + public native @Cast("CUpti_ChannelType") int channelType(); public native CUpti_ActivityMemcpy5 channelType(int setter); + + /** + * Reserved for internal use. + */ + public native @Cast("uint32_t") int pad2(); public native CUpti_ActivityMemcpy5 pad2(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMemcpyPtoP4.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMemcpyPtoP4.java new file mode 100644 index 00000000000..991780fbf90 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMemcpyPtoP4.java @@ -0,0 +1,160 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for peer-to-peer memory copies. + * + * This activity record represents a peer-to-peer memory copy + * (CUPTI_ACTIVITY_KIND_MEMCPY2). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityMemcpyPtoP4 extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityMemcpyPtoP4() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityMemcpyPtoP4(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityMemcpyPtoP4(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityMemcpyPtoP4 position(long position) { + return (CUpti_ActivityMemcpyPtoP4)super.position(position); + } + @Override public CUpti_ActivityMemcpyPtoP4 getPointer(long i) { + return new CUpti_ActivityMemcpyPtoP4((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMCPY2. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityMemcpyPtoP4 kind(int setter); + + /** + * The kind of the memory copy, stored as a byte to reduce record + * size. @see CUpti_ActivityMemcpyKind + */ + public native @Cast("uint8_t") byte copyKind(); public native CUpti_ActivityMemcpyPtoP4 copyKind(byte setter); + + /** + * The source memory kind read by the memory copy, stored as a byte + * to reduce record size. @see CUpti_ActivityMemoryKind + */ + public native @Cast("uint8_t") byte srcKind(); public native CUpti_ActivityMemcpyPtoP4 srcKind(byte setter); + + /** + * The destination memory kind read by the memory copy, stored as a + * byte to reduce record size. @see CUpti_ActivityMemoryKind + */ + public native @Cast("uint8_t") byte dstKind(); public native CUpti_ActivityMemcpyPtoP4 dstKind(byte setter); + + /** + * The flags associated with the memory copy. @see + * CUpti_ActivityFlag + */ + public native @Cast("uint8_t") byte flags(); public native CUpti_ActivityMemcpyPtoP4 flags(byte setter); + + /** + * The number of bytes transferred by the memory copy. + */ + public native @Cast("uint64_t") long bytes(); public native CUpti_ActivityMemcpyPtoP4 bytes(long setter); + + /** + * The start timestamp for the memory copy, in ns. A value of 0 for + * both the start and end timestamps indicates that timestamp + * information could not be collected for the memory copy. + */ + public native @Cast("uint64_t") long start(); public native CUpti_ActivityMemcpyPtoP4 start(long setter); + + /** + * The end timestamp for the memory copy, in ns. A value of 0 for + * both the start and end timestamps indicates that timestamp + * information could not be collected for the memory copy. + */ + public native @Cast("uint64_t") long end(); public native CUpti_ActivityMemcpyPtoP4 end(long setter); + + /** + * The ID of the device where the memory copy is occurring. + */ + public native @Cast("uint32_t") int deviceId(); public native CUpti_ActivityMemcpyPtoP4 deviceId(int setter); + + /** + * The ID of the context where the memory copy is occurring. + */ + public native @Cast("uint32_t") int contextId(); public native CUpti_ActivityMemcpyPtoP4 contextId(int setter); + + /** + * The ID of the stream where the memory copy is occurring. + */ + public native @Cast("uint32_t") int streamId(); public native CUpti_ActivityMemcpyPtoP4 streamId(int setter); + + /** + * The ID of the device where memory is being copied from. + */ + public native @Cast("uint32_t") int srcDeviceId(); public native CUpti_ActivityMemcpyPtoP4 srcDeviceId(int setter); + + /** + * The ID of the context owning the memory being copied from. + */ + public native @Cast("uint32_t") int srcContextId(); public native CUpti_ActivityMemcpyPtoP4 srcContextId(int setter); + + /** + * The ID of the device where memory is being copied to. + */ + public native @Cast("uint32_t") int dstDeviceId(); public native CUpti_ActivityMemcpyPtoP4 dstDeviceId(int setter); + + /** + * The ID of the context owning the memory being copied to. + */ + public native @Cast("uint32_t") int dstContextId(); public native CUpti_ActivityMemcpyPtoP4 dstContextId(int setter); + + /** + * The correlation ID of the memory copy. Each memory copy is + * assigned a unique correlation ID that is identical to the + * correlation ID in the driver and runtime API activity record that + * launched the memory copy. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityMemcpyPtoP4 correlationId(int setter); + +// #ifndef CUPTILP64 +// #endif + + /** + * Undefined. Reserved for internal use. + */ + public native Pointer reserved0(); public native CUpti_ActivityMemcpyPtoP4 reserved0(Pointer setter); + + /** + * The unique ID of the graph node that executed the memcpy through graph launch. + * This field will be 0 if memcpy is not done using graph launch. + */ + public native @Cast("uint64_t") long graphNodeId(); public native CUpti_ActivityMemcpyPtoP4 graphNodeId(long setter); + + /** + * The unique ID of the graph that executed this memcpy through graph launch. + * This field will be 0 if the memcpy is not done through graph launch. + */ + public native @Cast("uint32_t") int graphId(); public native CUpti_ActivityMemcpyPtoP4 graphId(int setter); + + /** + * The ID of the HW channel on which the memory copy is occurring. + */ + public native @Cast("uint32_t") int channelID(); public native CUpti_ActivityMemcpyPtoP4 channelID(int setter); + + /** + * The type of the channel + */ + public native @Cast("CUpti_ChannelType") int channelType(); public native CUpti_ActivityMemcpyPtoP4 channelType(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMemory.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMemory.java new file mode 100644 index 00000000000..464cd58bbf3 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMemory.java @@ -0,0 +1,120 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for memory. + * + * This activity record represents a memory allocation and free operation + * (CUPTI_ACTIVITY_KIND_MEMORY). + * This activity record provides a single record for the memory + * allocation and memory release operations. + * + * Note: It is recommended to move to the new activity record \ref CUpti_ActivityMemory4 + * enabled using the kind \ref CUPTI_ACTIVITY_KIND_MEMORY2. + * \ref CUpti_ActivityMemory4 provides separate records for memory + * allocation and memory release operations. This allows to correlate the + * corresponding driver and runtime API activity record with the memory operation. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityMemory extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityMemory() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityMemory(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityMemory(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityMemory position(long position) { + return (CUpti_ActivityMemory)super.position(position); + } + @Override public CUpti_ActivityMemory getPointer(long i) { + return new CUpti_ActivityMemory((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMORY + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityMemory kind(int setter); + + /** + * The memory kind requested by the user + */ + public native @Cast("CUpti_ActivityMemoryKind") int memoryKind(); public native CUpti_ActivityMemory memoryKind(int setter); + + /** + * The virtual address of the allocation + */ + public native @Cast("uint64_t") @Name("address") long _address(); public native CUpti_ActivityMemory _address(long setter); + + /** + * The number of bytes of memory allocated. + */ + public native @Cast("uint64_t") long bytes(); public native CUpti_ActivityMemory bytes(long setter); + + /** + * The start timestamp for the memory operation, i.e. + * the time when memory was allocated, in ns. + */ + public native @Cast("uint64_t") long start(); public native CUpti_ActivityMemory start(long setter); + + /** + * The end timestamp for the memory operation, i.e. + * the time when memory was freed, in ns. + * This will be 0 if memory is not freed in the application + */ + public native @Cast("uint64_t") long end(); public native CUpti_ActivityMemory end(long setter); + + /** + * The program counter of the allocation of memory + */ + public native @Cast("uint64_t") long allocPC(); public native CUpti_ActivityMemory allocPC(long setter); + + /** + * The program counter of the freeing of memory. This will + * be 0 if memory is not freed in the application + */ + public native @Cast("uint64_t") long freePC(); public native CUpti_ActivityMemory freePC(long setter); + + /** + * The ID of the process to which this record belongs to. + */ + public native @Cast("uint32_t") int processId(); public native CUpti_ActivityMemory processId(int setter); + + /** + * The ID of the device where the memory allocation is taking place. + */ + public native @Cast("uint32_t") int deviceId(); public native CUpti_ActivityMemory deviceId(int setter); + + /** + * The ID of the context. If context is NULL, \p contextId is set to CUPTI_INVALID_CONTEXT_ID. + */ + public native @Cast("uint32_t") int contextId(); public native CUpti_ActivityMemory contextId(int setter); + +// #ifdef CUPTILP64 + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint32_t") int pad(); public native CUpti_ActivityMemory pad(int setter); +// #endif + + /** + * Variable name. This name is shared across all activity + * records representing the same symbol, and so should not be + * modified. + */ + public native @Cast("const char*") BytePointer name(); public native CUpti_ActivityMemory name(BytePointer setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMemory4.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMemory4.java new file mode 100644 index 00000000000..b740e43546e --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMemory4.java @@ -0,0 +1,177 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for memory. + * + * This activity record represents a memory allocation and free operation + * (CUPTI_ACTIVITY_KIND_MEMORY2). + * This activity record provides separate records for memory allocation and + * memory release operations. + * This allows to correlate the corresponding driver and runtime API + * activity record with the memory operation. + * + * Note: This activity record is an upgrade over \ref CUpti_ActivityMemory + * enabled using the kind \ref CUPTI_ACTIVITY_KIND_MEMORY. + * \ref CUpti_ActivityMemory provides a single record for the memory + * allocation and memory release operations. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityMemory4 extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityMemory4() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityMemory4(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityMemory4(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityMemory4 position(long position) { + return (CUpti_ActivityMemory4)super.position(position); + } + @Override public CUpti_ActivityMemory4 getPointer(long i) { + return new CUpti_ActivityMemory4((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMORY2 + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityMemory4 kind(int setter); + + /** + * The memory operation requested by the user, \ref CUpti_ActivityMemoryOperationType. + */ + public native @Cast("CUpti_ActivityMemoryOperationType") int memoryOperationType(); public native CUpti_ActivityMemory4 memoryOperationType(int setter); + + /** + * The memory kind requested by the user, \ref CUpti_ActivityMemoryKind. + */ + public native @Cast("CUpti_ActivityMemoryKind") int memoryKind(); public native CUpti_ActivityMemory4 memoryKind(int setter); + + /** + * The correlation ID of the memory operation. Each memory operation is + * assigned a unique correlation ID that is identical to the + * correlation ID in the driver and runtime API activity record that + * launched the memory operation. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityMemory4 correlationId(int setter); + + /** + * The virtual address of the allocation. + */ + public native @Cast("uint64_t") @Name("address") long _address(); public native CUpti_ActivityMemory4 _address(long setter); + + /** + * The number of bytes of memory allocated. + */ + public native @Cast("uint64_t") long bytes(); public native CUpti_ActivityMemory4 bytes(long setter); + + /** + * The start timestamp for the memory operation, in ns. + */ + public native @Cast("uint64_t") long timestamp(); public native CUpti_ActivityMemory4 timestamp(long setter); + + /** + * The program counter of the memory operation. + */ + public native @Cast("uint64_t") long PC(); public native CUpti_ActivityMemory4 PC(long setter); + + /** + * The ID of the process to which this record belongs to. + */ + public native @Cast("uint32_t") int processId(); public native CUpti_ActivityMemory4 processId(int setter); + + /** + * The ID of the device where the memory operation is taking place. + */ + public native @Cast("uint32_t") int deviceId(); public native CUpti_ActivityMemory4 deviceId(int setter); + + /** + * The ID of the context. If context is NULL, \p contextId is set to CUPTI_INVALID_CONTEXT_ID. + */ + public native @Cast("uint32_t") int contextId(); public native CUpti_ActivityMemory4 contextId(int setter); + + /** + * The ID of the stream. If memory operation is not async, \p streamId is set to CUPTI_INVALID_STREAM_ID. + */ + public native @Cast("uint32_t") int streamId(); public native CUpti_ActivityMemory4 streamId(int setter); + + /** + * Variable name. This name is shared across all activity + * records representing the same symbol, and so should not be + * modified. + */ + public native @Cast("const char*") BytePointer name(); public native CUpti_ActivityMemory4 name(BytePointer setter); + + /** + * \p isAsync is set if memory operation happens through async memory APIs. + */ + public native @Cast("uint32_t") int isAsync(); public native CUpti_ActivityMemory4 isAsync(int setter); + +// #ifdef CUPTILP64 + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint32_t") int pad1(); public native CUpti_ActivityMemory4 pad1(int setter); +// #endif + + /** + * The memory pool configuration used for the memory operations. + */ + /** + * The type of the memory pool, \ref CUpti_ActivityMemoryPoolType + */ + @Name("memoryPoolConfig.memoryPoolType") public native @Cast("CUpti_ActivityMemoryPoolType") int memoryPoolConfig_memoryPoolType(); public native CUpti_ActivityMemory4 memoryPoolConfig_memoryPoolType(int setter); + +// #ifdef CUPTILP64 + /** + * Undefined. Reserved for internal use. + */ + @Name("memoryPoolConfig.pad2") public native @Cast("uint32_t") int memoryPoolConfig_pad2(); public native CUpti_ActivityMemory4 memoryPoolConfig_pad2(int setter); +// #endif + + /** + * The base address of the memory pool. + */ + @Name("memoryPoolConfig.address") public native @Cast("uint64_t") long memoryPoolConfig_address(); public native CUpti_ActivityMemory4 memoryPoolConfig_address(long setter); + + /** + * The release threshold of the memory pool in bytes. \p releaseThreshold is + * valid for CUPTI_ACTIVITY_MEMORY_POOL_TYPE_LOCAL, \ref CUpti_ActivityMemoryPoolType. + */ + @Name("memoryPoolConfig.releaseThreshold") public native @Cast("uint64_t") long memoryPoolConfig_releaseThreshold(); public native CUpti_ActivityMemory4 memoryPoolConfig_releaseThreshold(long setter); + + /** + * The size of memory pool in bytes and the processId of the memory pools + * \p size is valid if \p memoryPoolType is + * CUPTI_ACTIVITY_MEMORY_POOL_TYPE_LOCAL, \ref CUpti_ActivityMemoryPoolType. + * \p processId is valid if \p memoryPoolType is + * CUPTI_ACTIVITY_MEMORY_POOL_TYPE_IMPORTED, \ref CUpti_ActivityMemoryPoolType + */ + @Name("memoryPoolConfig.pool.size") public native @Cast("uint64_t") long memoryPoolConfig_pool_size(); public native CUpti_ActivityMemory4 memoryPoolConfig_pool_size(long setter); + @Name("memoryPoolConfig.pool.processId") public native @Cast("uint64_t") long memoryPoolConfig_pool_processId(); public native CUpti_ActivityMemory4 memoryPoolConfig_pool_processId(long setter); + + /** + * The utilized size of the memory pool. \p utilizedSize is + * valid for CUPTI_ACTIVITY_MEMORY_POOL_TYPE_LOCAL, \ref CUpti_ActivityMemoryPoolType. + */ + @Name("memoryPoolConfig.utilizedSize") public native @Cast("uint64_t") long memoryPoolConfig_utilizedSize(); public native CUpti_ActivityMemory4 memoryPoolConfig_utilizedSize(long setter); + + /** + * The shared object or binary that the memory allocation request comes from. + */ + public native @Cast("const char*") BytePointer source(); public native CUpti_ActivityMemory4 source(BytePointer setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMemoryPool2.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMemoryPool2.java new file mode 100644 index 00000000000..e73f753ec9b --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMemoryPool2.java @@ -0,0 +1,115 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for memory pool. + * + * This activity record represents a memory pool creation, destruction and + * trimming (CUPTI_ACTIVITY_KIND_MEMORY_POOL). + * This activity record provides separate records for memory pool creation, + * destruction and trimming operations. + * This allows to correlate the corresponding driver and runtime API + * activity record with the memory pool operation. + * + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityMemoryPool2 extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityMemoryPool2() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityMemoryPool2(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityMemoryPool2(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityMemoryPool2 position(long position) { + return (CUpti_ActivityMemoryPool2)super.position(position); + } + @Override public CUpti_ActivityMemoryPool2 getPointer(long i) { + return new CUpti_ActivityMemoryPool2((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMORY_POOL + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityMemoryPool2 kind(int setter); + + /** + * The memory operation requested by the user, \ref CUpti_ActivityMemoryPoolOperationType. + */ + public native @Cast("CUpti_ActivityMemoryPoolOperationType") int memoryPoolOperationType(); public native CUpti_ActivityMemoryPool2 memoryPoolOperationType(int setter); + + /** + * The type of the memory pool, \ref CUpti_ActivityMemoryPoolType + */ + public native @Cast("CUpti_ActivityMemoryPoolType") int memoryPoolType(); public native CUpti_ActivityMemoryPool2 memoryPoolType(int setter); + + /** + * The correlation ID of the memory pool operation. Each memory pool + * operation is assigned a unique correlation ID that is identical to the + * correlation ID in the driver and runtime API activity record that + * launched the memory operation. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityMemoryPool2 correlationId(int setter); + + /** + * The ID of the process to which this record belongs to. + */ + public native @Cast("uint32_t") int processId(); public native CUpti_ActivityMemoryPool2 processId(int setter); + + /** + * The ID of the device where the memory pool is created. + */ + public native @Cast("uint32_t") int deviceId(); public native CUpti_ActivityMemoryPool2 deviceId(int setter); + + /** + * The minimum bytes to keep of the memory pool. \p minBytesToKeep is + * valid for CUPTI_ACTIVITY_MEMORY_POOL_OPERATION_TYPE_TRIMMED, + * \ref CUpti_ActivityMemoryPoolOperationType + */ + public native @Cast("size_t") long minBytesToKeep(); public native CUpti_ActivityMemoryPool2 minBytesToKeep(long setter); + +// #ifndef CUPTILP64 +// #endif + + /** + * The virtual address of the allocation. + */ + public native @Cast("uint64_t") @Name("address") long _address(); public native CUpti_ActivityMemoryPool2 _address(long setter); + + /** + * The size of the memory pool operation in bytes. \p size is + * valid for CUPTI_ACTIVITY_MEMORY_POOL_TYPE_LOCAL, \ref CUpti_ActivityMemoryPoolType. + */ + public native @Cast("uint64_t") long size(); public native CUpti_ActivityMemoryPool2 size(long setter); + + /** + * The release threshold of the memory pool. \p releaseThreshold is + * valid for CUPTI_ACTIVITY_MEMORY_POOL_TYPE_LOCAL, \ref CUpti_ActivityMemoryPoolType. + */ + public native @Cast("uint64_t") long releaseThreshold(); public native CUpti_ActivityMemoryPool2 releaseThreshold(long setter); + + /** + * The start timestamp for the memory operation, in ns. + */ + public native @Cast("uint64_t") long timestamp(); public native CUpti_ActivityMemoryPool2 timestamp(long setter); + + /** + * The utilized size of the memory pool. \p utilizedSize is + * valid for CUPTI_ACTIVITY_MEMORY_POOL_TYPE_LOCAL, \ref CUpti_ActivityMemoryPoolType. + */ + public native @Cast("uint64_t") long utilizedSize(); public native CUpti_ActivityMemoryPool2 utilizedSize(long setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMemset4.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMemset4.java new file mode 100644 index 00000000000..eee64039bb4 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMemset4.java @@ -0,0 +1,139 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for memset. + * + * This activity record represents a memory set operation + * (CUPTI_ACTIVITY_KIND_MEMSET). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityMemset4 extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityMemset4() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityMemset4(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityMemset4(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityMemset4 position(long position) { + return (CUpti_ActivityMemset4)super.position(position); + } + @Override public CUpti_ActivityMemset4 getPointer(long i) { + return new CUpti_ActivityMemset4((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMSET. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityMemset4 kind(int setter); + + /** + * The value being assigned to memory by the memory set. + */ + public native @Cast("uint32_t") int value(); public native CUpti_ActivityMemset4 value(int setter); + + /** + * The number of bytes being set by the memory set. + */ + public native @Cast("uint64_t") long bytes(); public native CUpti_ActivityMemset4 bytes(long setter); + + /** + * The start timestamp for the memory set, in ns. A value of 0 for + * both the start and end timestamps indicates that timestamp + * information could not be collected for the memory set. + */ + public native @Cast("uint64_t") long start(); public native CUpti_ActivityMemset4 start(long setter); + + /** + * The end timestamp for the memory set, in ns. A value of 0 for + * both the start and end timestamps indicates that timestamp + * information could not be collected for the memory set. + */ + public native @Cast("uint64_t") long end(); public native CUpti_ActivityMemset4 end(long setter); + + /** + * The ID of the device where the memory set is occurring. + */ + public native @Cast("uint32_t") int deviceId(); public native CUpti_ActivityMemset4 deviceId(int setter); + + /** + * The ID of the context where the memory set is occurring. + */ + public native @Cast("uint32_t") int contextId(); public native CUpti_ActivityMemset4 contextId(int setter); + + /** + * The ID of the stream where the memory set is occurring. + */ + public native @Cast("uint32_t") int streamId(); public native CUpti_ActivityMemset4 streamId(int setter); + + /** + * The correlation ID of the memory set. Each memory set is assigned + * a unique correlation ID that is identical to the correlation ID + * in the driver API activity record that launched the memory set. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityMemset4 correlationId(int setter); + + /** + * The flags associated with the memset. @see CUpti_ActivityFlag + */ + public native @Cast("uint16_t") short flags(); public native CUpti_ActivityMemset4 flags(short setter); + + /** + * The memory kind of the memory set @see CUpti_ActivityMemoryKind + */ + public native @Cast("uint16_t") short memoryKind(); public native CUpti_ActivityMemset4 memoryKind(short setter); + +// #ifdef CUPTILP64 + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint32_t") int pad(); public native CUpti_ActivityMemset4 pad(int setter); +// #endif + + /** + * Undefined. Reserved for internal use. + */ + public native Pointer reserved0(); public native CUpti_ActivityMemset4 reserved0(Pointer setter); + + /** + * The unique ID of the graph node that executed this memset through graph launch. + * This field will be 0 if the memset is not executed through graph launch. + */ + public native @Cast("uint64_t") long graphNodeId(); public native CUpti_ActivityMemset4 graphNodeId(long setter); + + /** + * The unique ID of the graph that executed this memset through graph launch. + * This field will be 0 if the memset is not executed through graph launch. + */ + public native @Cast("uint32_t") int graphId(); public native CUpti_ActivityMemset4 graphId(int setter); + + /** + * The ID of the HW channel on which the memory set is occurring. + */ + public native @Cast("uint32_t") int channelID(); public native CUpti_ActivityMemset4 channelID(int setter); + + /** + * The type of the channel + */ + public native @Cast("CUpti_ChannelType") int channelType(); public native CUpti_ActivityMemset4 channelType(int setter); + + /** + * Undefined. Reserved for internal use + */ + public native @Cast("uint32_t") int pad2(); public native CUpti_ActivityMemset4 pad2(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMetric.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMetric.java new file mode 100644 index 00000000000..41883ac038f --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMetric.java @@ -0,0 +1,76 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for a CUPTI metric. + * + * This activity record represents the collection of a CUPTI metric + * value (CUPTI_ACTIVITY_KIND_METRIC). This activity record kind is not + * produced by the activity API but is included for completeness and + * ease-of-use. Profile frameworks built on top of CUPTI that collect + * metric data may choose to use this type to store the collected metric + * data. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityMetric extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityMetric() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityMetric(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityMetric(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityMetric position(long position) { + return (CUpti_ActivityMetric)super.position(position); + } + @Override public CUpti_ActivityMetric getPointer(long i) { + return new CUpti_ActivityMetric((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_METRIC. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityMetric kind(int setter); + + /** + * The metric ID. + */ + public native @Cast("CUpti_MetricID") int id(); public native CUpti_ActivityMetric id(int setter); + + /** + * The metric value. + */ + public native @ByRef CUpti_MetricValue value(); public native CUpti_ActivityMetric value(CUpti_MetricValue setter); + + /** + * The correlation ID of the metric. Use of this ID is user-defined, + * but typically this ID value will equal the correlation ID of the + * kernel for which the metric was gathered. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityMetric correlationId(int setter); + + /** + * The properties of this metric. @see CUpti_ActivityFlag + */ + public native @Cast("uint8_t") byte flags(); public native CUpti_ActivityMetric flags(byte setter); + + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint8_t") byte pad(int i); public native CUpti_ActivityMetric pad(int i, byte setter); + @MemberGetter public native @Cast("uint8_t*") BytePointer pad(); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMetricInstance.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMetricInstance.java new file mode 100644 index 00000000000..668f56d8ba5 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityMetricInstance.java @@ -0,0 +1,86 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for a CUPTI metric with instance + * information. + * + * This activity record represents a CUPTI metric value + * for a specific metric domain instance + * (CUPTI_ACTIVITY_KIND_METRIC_INSTANCE). This activity record kind + * is not produced by the activity API but is included for + * completeness and ease-of-use. Profile frameworks built on top of + * CUPTI that collect metric data may choose to use this type to store + * the collected metric data. This activity record should be used when + * metric domain instance information needs to be associated with the + * metric. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityMetricInstance extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityMetricInstance() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityMetricInstance(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityMetricInstance(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityMetricInstance position(long position) { + return (CUpti_ActivityMetricInstance)super.position(position); + } + @Override public CUpti_ActivityMetricInstance getPointer(long i) { + return new CUpti_ActivityMetricInstance((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be + * CUPTI_ACTIVITY_KIND_METRIC_INSTANCE. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityMetricInstance kind(int setter); + + /** + * The metric ID. + */ + public native @Cast("CUpti_MetricID") int id(); public native CUpti_ActivityMetricInstance id(int setter); + + /** + * The metric value. + */ + public native @ByRef CUpti_MetricValue value(); public native CUpti_ActivityMetricInstance value(CUpti_MetricValue setter); + + /** + * The metric domain instance. + */ + public native @Cast("uint32_t") int instance(); public native CUpti_ActivityMetricInstance instance(int setter); + + /** + * The correlation ID of the metric. Use of this ID is user-defined, + * but typically this ID value will equal the correlation ID of the + * kernel for which the metric was gathered. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityMetricInstance correlationId(int setter); + + /** + * The properties of this metric. @see CUpti_ActivityFlag + */ + public native @Cast("uint8_t") byte flags(); public native CUpti_ActivityMetricInstance flags(byte setter); + + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint8_t") byte pad(int i); public native CUpti_ActivityMetricInstance pad(int i, byte setter); + @MemberGetter public native @Cast("uint8_t*") BytePointer pad(); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityModule.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityModule.java new file mode 100644 index 00000000000..83a8e6cc727 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityModule.java @@ -0,0 +1,71 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for a CUDA module. + * + * This activity record represents a CUDA module + * (CUPTI_ACTIVITY_KIND_MODULE). This activity record kind is not + * produced by the activity API but is included for completeness and + * ease-of-use. Profile frameworks built on top of CUPTI that collect + * module data from the module callback may choose to use this type to + * store the collected module data. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityModule extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityModule() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityModule(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityModule(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityModule position(long position) { + return (CUpti_ActivityModule)super.position(position); + } + @Override public CUpti_ActivityModule getPointer(long i) { + return new CUpti_ActivityModule((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_MODULE. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityModule kind(int setter); + + /** + * The ID of the context where the module is loaded. + */ + public native @Cast("uint32_t") int contextId(); public native CUpti_ActivityModule contextId(int setter); + + /** + * The module ID. + */ + public native @Cast("uint32_t") int id(); public native CUpti_ActivityModule id(int setter); + + /** + * The cubin size. + */ + public native @Cast("uint32_t") int cubinSize(); public native CUpti_ActivityModule cubinSize(int setter); + +// #ifndef CUPTILP64 +// #endif + + /** + * The pointer to cubin. + */ + public native @Const Pointer cubin(); public native CUpti_ActivityModule cubin(Pointer setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityName.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityName.java new file mode 100644 index 00000000000..2d67756a092 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityName.java @@ -0,0 +1,69 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record providing a name. + * + * This activity record provides a name for a device, context, thread, + * etc. and other resource naming done via NVTX APIs + * (CUPTI_ACTIVITY_KIND_NAME). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityName extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityName() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityName(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityName(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityName position(long position) { + return (CUpti_ActivityName)super.position(position); + } + @Override public CUpti_ActivityName getPointer(long i) { + return new CUpti_ActivityName((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_NAME. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityName kind(int setter); + + /** + * The kind of activity object being named. + */ + public native @Cast("CUpti_ActivityObjectKind") int objectKind(); public native CUpti_ActivityName objectKind(int setter); + + /** + * The identifier for the activity object. 'objectKind' indicates + * which ID is valid for this record. + */ + public native @ByRef CUpti_ActivityObjectKindId objectId(); public native CUpti_ActivityName objectId(CUpti_ActivityObjectKindId setter); + +// #ifdef CUPTILP64 + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint32_t") int pad(); public native CUpti_ActivityName pad(int setter); +// #endif + + /** + * The name. + */ + public native @Cast("const char*") BytePointer name(); public native CUpti_ActivityName name(BytePointer setter); + +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityNvLink4.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityNvLink4.java new file mode 100644 index 00000000000..3f3e1ea2f24 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityNvLink4.java @@ -0,0 +1,141 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** +* \brief NVLink information. +* +* This structure gives capabilities of each logical NVLink connection between two devices, +* gpu<->gpu or gpu<->CPU which can be used to understand the topology. +*/ + +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityNvLink4 extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityNvLink4() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityNvLink4(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityNvLink4(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityNvLink4 position(long position) { + return (CUpti_ActivityNvLink4)super.position(position); + } + @Override public CUpti_ActivityNvLink4 getPointer(long i) { + return new CUpti_ActivityNvLink4((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_NVLINK. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityNvLink4 kind(int setter); + + /** + * NvLink version. + */ + public native @Cast("uint32_t") int nvlinkVersion(); public native CUpti_ActivityNvLink4 nvlinkVersion(int setter); + + /** + * Type of device 0 \ref CUpti_DevType + */ + public native @Cast("CUpti_DevType") int typeDev0(); public native CUpti_ActivityNvLink4 typeDev0(int setter); + + /** + * Type of device 1 \ref CUpti_DevType + */ + public native @Cast("CUpti_DevType") int typeDev1(); public native CUpti_ActivityNvLink4 typeDev1(int setter); + + /** + * If typeDev0 is CUPTI_DEV_TYPE_GPU, UUID for device 0. \ref CUpti_ActivityDevice5. + * If typeDev0 is CUPTI_DEV_TYPE_NPU, struct npu for NPU. + */ + @Name("idDev0.uuidDev") public native @ByRef CUuuid idDev0_uuidDev(); public native CUpti_ActivityNvLink4 idDev0_uuidDev(CUuuid setter); + /** + * Index of the NPU. First index will always be zero. + */ + @Name("idDev0.npu.index") public native @Cast("uint32_t") int idDev0_npu_index(); public native CUpti_ActivityNvLink4 idDev0_npu_index(int setter); + + /** + * Domain ID of NPU. On Linux, this can be queried using lspci. + */ + @Name("idDev0.npu.domainId") public native @Cast("uint32_t") int idDev0_npu_domainId(); public native CUpti_ActivityNvLink4 idDev0_npu_domainId(int setter); + + /** + * If typeDev1 is CUPTI_DEV_TYPE_GPU, UUID for device 1. \ref CUpti_ActivityDevice5. + * If typeDev1 is CUPTI_DEV_TYPE_NPU, struct npu for NPU. + */ + @Name("idDev1.uuidDev") public native @ByRef CUuuid idDev1_uuidDev(); public native CUpti_ActivityNvLink4 idDev1_uuidDev(CUuuid setter); + + /** + * Index of the NPU. First index will always be zero. + */ + @Name("idDev1.npu.index") public native @Cast("uint32_t") int idDev1_npu_index(); public native CUpti_ActivityNvLink4 idDev1_npu_index(int setter); + + /** + * Domain ID of NPU. On Linux, this can be queried using lspci. + */ + @Name("idDev1.npu.domainId") public native @Cast("uint32_t") int idDev1_npu_domainId(); public native CUpti_ActivityNvLink4 idDev1_npu_domainId(int setter); + + /** + * Flag gives capabilities of the link @see CUpti_LinkFlag + */ + public native @Cast("uint32_t") int flag(); public native CUpti_ActivityNvLink4 flag(int setter); + + /** + * Number of physical NVLinks present between two devices. + */ + public native @Cast("uint32_t") int physicalNvLinkCount(); public native CUpti_ActivityNvLink4 physicalNvLinkCount(int setter); + + /** + * Port numbers for maximum 32 NVLinks connected to device 0. + * If typeDev0 is CUPTI_DEV_TYPE_NPU, ignore this field. + * In case of invalid/unknown port number, this field will be set + * to value CUPTI_NVLINK_INVALID_PORT. + * This will be used to correlate the metric values to individual + * physical link and attribute traffic to the logical NVLink in + * the topology. + */ + public native byte portDev0(int i); public native CUpti_ActivityNvLink4 portDev0(int i, byte setter); + @MemberGetter public native BytePointer portDev0(); + + /** + * Port numbers for maximum 32 NVLinks connected to device 1. + * If typeDev1 is CUPTI_DEV_TYPE_NPU, ignore this field. + * In case of invalid/unknown port number, this field will be set + * to value CUPTI_NVLINK_INVALID_PORT. + * This will be used to correlate the metric values to individual + * physical link and attribute traffic to the logical NVLink in + * the topology. + */ + public native byte portDev1(int i); public native CUpti_ActivityNvLink4 portDev1(int i, byte setter); + @MemberGetter public native BytePointer portDev1(); + + /** + * Bandwidth of NVLink in kbytes/sec + */ + public native @Cast("uint64_t") long bandwidth(); public native CUpti_ActivityNvLink4 bandwidth(long setter); + + /** + * NVSwitch is connected as an intermediate node. + */ + public native @Cast("uint8_t") byte nvswitchConnected(); public native CUpti_ActivityNvLink4 nvswitchConnected(byte setter); + + /** + * Undefined. reserved for internal use + */ + public native @Cast("uint8_t") byte pad(int i); public native CUpti_ActivityNvLink4 pad(int i, byte setter); + @MemberGetter public native @Cast("uint8_t*") BytePointer pad(); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityObjectKindId.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityObjectKindId.java new file mode 100644 index 00000000000..bdfbfff53ab --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityObjectKindId.java @@ -0,0 +1,56 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief Identifiers for object kinds as specified by + * CUpti_ActivityObjectKind. + * @see CUpti_ActivityObjectKind + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityObjectKindId extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityObjectKindId() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityObjectKindId(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityObjectKindId(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityObjectKindId position(long position) { + return (CUpti_ActivityObjectKindId)super.position(position); + } + @Override public CUpti_ActivityObjectKindId getPointer(long i) { + return new CUpti_ActivityObjectKindId((Pointer)this).offsetAddress(i); + } + + /** + * A process object requires that we identify the process ID. A + * thread object requires that we identify both the process and + * thread ID. + */ + @Name("pt.processId") public native @Cast("uint32_t") int pt_processId(); public native CUpti_ActivityObjectKindId pt_processId(int setter); + @Name("pt.threadId") public native @Cast("uint32_t") int pt_threadId(); public native CUpti_ActivityObjectKindId pt_threadId(int setter); + + /** + * A device object requires that we identify the device ID. A + * context object requires that we identify both the device and + * context ID. A stream object requires that we identify device, + * context, and stream ID. + */ + @Name("dcs.deviceId") public native @Cast("uint32_t") int dcs_deviceId(); public native CUpti_ActivityObjectKindId dcs_deviceId(int setter); + @Name("dcs.contextId") public native @Cast("uint32_t") int dcs_contextId(); public native CUpti_ActivityObjectKindId dcs_contextId(int setter); + @Name("dcs.streamId") public native @Cast("uint32_t") int dcs_streamId(); public native CUpti_ActivityObjectKindId dcs_streamId(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOpenAcc.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOpenAcc.java new file mode 100644 index 00000000000..3c1b9ea17f5 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOpenAcc.java @@ -0,0 +1,184 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The base activity record for OpenAcc records. + * + * The OpenACC activity API part uses a CUpti_ActivityOpenAcc as a generic + * representation for any OpenACC activity. The 'kind' field is used to determine the + * specific activity kind, and from that the CUpti_ActivityOpenAcc object can + * be cast to the specific OpenACC activity record type appropriate for that kind. + * + * Note that all OpenACC activity record types are padded and aligned to + * ensure that each member of the record is naturally aligned. + * + * @see CUpti_ActivityKind + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityOpenAcc extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityOpenAcc() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityOpenAcc(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityOpenAcc(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityOpenAcc position(long position) { + return (CUpti_ActivityOpenAcc)super.position(position); + } + @Override public CUpti_ActivityOpenAcc getPointer(long i) { + return new CUpti_ActivityOpenAcc((Pointer)this).offsetAddress(i); + } + + /** + * The kind of this activity. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityOpenAcc kind(int setter); + + /** + * CUPTI OpenACC event kind (@see CUpti_OpenAccEventKind) + */ + public native @Cast("CUpti_OpenAccEventKind") int eventKind(); public native CUpti_ActivityOpenAcc eventKind(int setter); + + /** + * CUPTI OpenACC parent construct kind (@see CUpti_OpenAccConstructKind) + * + * Note that for applications using PGI OpenACC runtime < 16.1, this + * will always be CUPTI_OPENACC_CONSTRUCT_KIND_UNKNOWN. + */ + public native @Cast("CUpti_OpenAccConstructKind") int parentConstruct(); public native CUpti_ActivityOpenAcc parentConstruct(int setter); + + /** + * Version number + */ + public native @Cast("uint32_t") int version(); public native CUpti_ActivityOpenAcc version(int setter); + + /** + * 1 for any implicit event, such as an implicit wait at a synchronous data construct + * 0 otherwise + */ + public native @Cast("uint32_t") int implicit(); public native CUpti_ActivityOpenAcc implicit(int setter); + + /** + * Device type + */ + public native @Cast("uint32_t") int deviceType(); public native CUpti_ActivityOpenAcc deviceType(int setter); + + /** + * Device number + */ + public native @Cast("uint32_t") int deviceNumber(); public native CUpti_ActivityOpenAcc deviceNumber(int setter); + + /** + * ThreadId + */ + public native @Cast("uint32_t") int threadId(); public native CUpti_ActivityOpenAcc threadId(int setter); + + /** + * Value of async() clause of the corresponding directive + */ + public native @Cast("uint64_t") long async(); public native CUpti_ActivityOpenAcc async(long setter); + + /** + * Internal asynchronous queue number used + */ + public native @Cast("uint64_t") long asyncMap(); public native CUpti_ActivityOpenAcc asyncMap(long setter); + + /** + * The line number of the directive or program construct or the starting line + * number of the OpenACC construct corresponding to the event. + * A zero value means the line number is not known. + */ + public native @Cast("uint32_t") int lineNo(); public native CUpti_ActivityOpenAcc lineNo(int setter); + + /** + * For an OpenACC construct, this contains the line number of the end + * of the construct. A zero value means the line number is not known. + */ + public native @Cast("uint32_t") int endLineNo(); public native CUpti_ActivityOpenAcc endLineNo(int setter); + + /** + * The line number of the first line of the function named in funcName. + * A zero value means the line number is not known. + */ + public native @Cast("uint32_t") int funcLineNo(); public native CUpti_ActivityOpenAcc funcLineNo(int setter); + + /** + * The last line number of the function named in funcName. + * A zero value means the line number is not known. + */ + public native @Cast("uint32_t") int funcEndLineNo(); public native CUpti_ActivityOpenAcc funcEndLineNo(int setter); + + /** + * CUPTI start timestamp + */ + public native @Cast("uint64_t") long start(); public native CUpti_ActivityOpenAcc start(long setter); + + /** + * CUPTI end timestamp + */ + public native @Cast("uint64_t") long end(); public native CUpti_ActivityOpenAcc end(long setter); + + /** + * CUDA device id + * Valid only if deviceType is acc_device_nvidia. + */ + public native @Cast("uint32_t") int cuDeviceId(); public native CUpti_ActivityOpenAcc cuDeviceId(int setter); + + /** + * CUDA context id + * Valid only if deviceType is acc_device_nvidia. + */ + public native @Cast("uint32_t") int cuContextId(); public native CUpti_ActivityOpenAcc cuContextId(int setter); + + /** + * CUDA stream id + * Valid only if deviceType is acc_device_nvidia. + */ + public native @Cast("uint32_t") int cuStreamId(); public native CUpti_ActivityOpenAcc cuStreamId(int setter); + + /** + * The ID of the process where the OpenACC activity is executing. + */ + public native @Cast("uint32_t") int cuProcessId(); public native CUpti_ActivityOpenAcc cuProcessId(int setter); + + /** + * The ID of the thread where the OpenACC activity is executing. + */ + public native @Cast("uint32_t") int cuThreadId(); public native CUpti_ActivityOpenAcc cuThreadId(int setter); + + /** + * The OpenACC correlation ID. + * Valid only if deviceType is acc_device_nvidia. + * If not 0, it uniquely identifies this record. It is identical to the + * externalId in the preceding external correlation record of type + * CUPTI_EXTERNAL_CORRELATION_KIND_OPENACC. + */ + public native @Cast("uint32_t") int externalId(); public native CUpti_ActivityOpenAcc externalId(int setter); + + /* + * A pointer to null-terminated string containing the name of or path to + * the source file, if known, or a null pointer if not. + */ + public native @Cast("const char*") BytePointer srcFile(); public native CUpti_ActivityOpenAcc srcFile(BytePointer setter); + + /* + * A pointer to a null-terminated string containing the name of the + * function in which the event occurred. + */ + public native @Cast("const char*") BytePointer funcName(); public native CUpti_ActivityOpenAcc funcName(BytePointer setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOpenAccData.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOpenAccData.java new file mode 100644 index 00000000000..c10c2a38f3e --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOpenAccData.java @@ -0,0 +1,203 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for OpenACC data. + * + * (CUPTI_ACTIVITY_KIND_OPENACC_DATA). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityOpenAccData extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityOpenAccData() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityOpenAccData(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityOpenAccData(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityOpenAccData position(long position) { + return (CUpti_ActivityOpenAccData)super.position(position); + } + @Override public CUpti_ActivityOpenAccData getPointer(long i) { + return new CUpti_ActivityOpenAccData((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_OPENACC_DATA. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityOpenAccData kind(int setter); + + /** + * CUPTI OpenACC event kind (@see CUpti_OpenAccEventKind) + */ + public native @Cast("CUpti_OpenAccEventKind") int eventKind(); public native CUpti_ActivityOpenAccData eventKind(int setter); + + /* + * CUPTI OpenACC parent construct kind (\see CUpti_OpenAccConstructKind) + * + * Note that for applications using PGI OpenACC runtime < 16.1, this + * will always be CUPTI_OPENACC_CONSTRUCT_KIND_UNKNOWN. + */ + public native @Cast("CUpti_OpenAccConstructKind") int parentConstruct(); public native CUpti_ActivityOpenAccData parentConstruct(int setter); + + /* + * Version number + */ + public native @Cast("uint32_t") int version(); public native CUpti_ActivityOpenAccData version(int setter); + + /* + * 1 for any implicit event, such as an implicit wait at a synchronous data construct + * 0 otherwise + */ + public native @Cast("uint32_t") int implicit(); public native CUpti_ActivityOpenAccData implicit(int setter); + + /* + * Device type + */ + public native @Cast("uint32_t") int deviceType(); public native CUpti_ActivityOpenAccData deviceType(int setter); + + /* + * Device number + */ + public native @Cast("uint32_t") int deviceNumber(); public native CUpti_ActivityOpenAccData deviceNumber(int setter); + + /** + * ThreadId + */ + public native @Cast("uint32_t") int threadId(); public native CUpti_ActivityOpenAccData threadId(int setter); + + /* + * Value of async() clause of the corresponding directive + */ + public native @Cast("uint64_t") long async(); public native CUpti_ActivityOpenAccData async(long setter); + + /* + * Internal asynchronous queue number used + */ + public native @Cast("uint64_t") long asyncMap(); public native CUpti_ActivityOpenAccData asyncMap(long setter); + + /* + * The line number of the directive or program construct or the starting line + * number of the OpenACC construct corresponding to the event. + * A negative or zero value means the line number is not known. + */ + public native @Cast("uint32_t") int lineNo(); public native CUpti_ActivityOpenAccData lineNo(int setter); + + /* + * For an OpenACC construct, this contains the line number of the end + * of the construct. A negative or zero value means the line number is not known. + */ + public native @Cast("uint32_t") int endLineNo(); public native CUpti_ActivityOpenAccData endLineNo(int setter); + + /* + * The line number of the first line of the function named in func_name. + * A negative or zero value means the line number is not known. + */ + public native @Cast("uint32_t") int funcLineNo(); public native CUpti_ActivityOpenAccData funcLineNo(int setter); + + /* + * The last line number of the function named in func_name. + * A negative or zero value means the line number is not known. + */ + public native @Cast("uint32_t") int funcEndLineNo(); public native CUpti_ActivityOpenAccData funcEndLineNo(int setter); + + /** + * CUPTI start timestamp + */ + public native @Cast("uint64_t") long start(); public native CUpti_ActivityOpenAccData start(long setter); + + /** + * CUPTI end timestamp + */ + public native @Cast("uint64_t") long end(); public native CUpti_ActivityOpenAccData end(long setter); + + /** + * CUDA device id + * Valid only if deviceType is acc_device_nvidia. + */ + public native @Cast("uint32_t") int cuDeviceId(); public native CUpti_ActivityOpenAccData cuDeviceId(int setter); + + /** + * CUDA context id + * Valid only if deviceType is acc_device_nvidia. + */ + public native @Cast("uint32_t") int cuContextId(); public native CUpti_ActivityOpenAccData cuContextId(int setter); + + /** + * CUDA stream id + * Valid only if deviceType is acc_device_nvidia. + */ + public native @Cast("uint32_t") int cuStreamId(); public native CUpti_ActivityOpenAccData cuStreamId(int setter); + + /** + * The ID of the process where the OpenACC activity is executing. + */ + public native @Cast("uint32_t") int cuProcessId(); public native CUpti_ActivityOpenAccData cuProcessId(int setter); + + /** + * The ID of the thread where the OpenACC activity is executing. + */ + public native @Cast("uint32_t") int cuThreadId(); public native CUpti_ActivityOpenAccData cuThreadId(int setter); + + /** + * The OpenACC correlation ID. + * Valid only if deviceType is acc_device_nvidia. + * If not 0, it uniquely identifies this record. It is identical to the + * externalId in the preceding external correlation record of type + * CUPTI_EXTERNAL_CORRELATION_KIND_OPENACC. + */ + public native @Cast("uint32_t") int externalId(); public native CUpti_ActivityOpenAccData externalId(int setter); + + /* + * A pointer to null-terminated string containing the name of or path to + * the source file, if known, or a null pointer if not. + */ + public native @Cast("const char*") BytePointer srcFile(); public native CUpti_ActivityOpenAccData srcFile(BytePointer setter); + + /* + * A pointer to a null-terminated string containing the name of the + * function in which the event occurred. + */ + public native @Cast("const char*") BytePointer funcName(); public native CUpti_ActivityOpenAccData funcName(BytePointer setter); + + /* --- end of common CUpti_ActivityOpenAcc part --- */ + + /** + * Number of bytes + */ + public native @Cast("uint64_t") long bytes(); public native CUpti_ActivityOpenAccData bytes(long setter); + + /** + * Host pointer if available + */ + public native @Cast("uint64_t") long hostPtr(); public native CUpti_ActivityOpenAccData hostPtr(long setter); + + /** + * Device pointer if available + */ + public native @Cast("uint64_t") long devicePtr(); public native CUpti_ActivityOpenAccData devicePtr(long setter); + +// #ifndef CUPTILP64 +// #endif + + /* + * A pointer to null-terminated string containing the name of the variable + * for which this event is triggered, if known, or a null pointer if not. + */ + public native @Cast("const char*") BytePointer varName(); public native CUpti_ActivityOpenAccData varName(BytePointer setter); + +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOpenAccLaunch.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOpenAccLaunch.java new file mode 100644 index 00000000000..0d7df568a0e --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOpenAccLaunch.java @@ -0,0 +1,203 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for OpenACC launch. + * + * (CUPTI_ACTIVITY_KIND_OPENACC_LAUNCH). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityOpenAccLaunch extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityOpenAccLaunch() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityOpenAccLaunch(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityOpenAccLaunch(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityOpenAccLaunch position(long position) { + return (CUpti_ActivityOpenAccLaunch)super.position(position); + } + @Override public CUpti_ActivityOpenAccLaunch getPointer(long i) { + return new CUpti_ActivityOpenAccLaunch((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_OPENACC_LAUNCH. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityOpenAccLaunch kind(int setter); + + /** + * CUPTI OpenACC event kind (@see CUpti_OpenAccEventKind) + */ + public native @Cast("CUpti_OpenAccEventKind") int eventKind(); public native CUpti_ActivityOpenAccLaunch eventKind(int setter); + + /** + * CUPTI OpenACC parent construct kind (@see CUpti_OpenAccConstructKind) + * + * Note that for applications using PGI OpenACC runtime < 16.1, this + * will always be CUPTI_OPENACC_CONSTRUCT_KIND_UNKNOWN. + */ + public native @Cast("CUpti_OpenAccConstructKind") int parentConstruct(); public native CUpti_ActivityOpenAccLaunch parentConstruct(int setter); + + /** + * Version number + */ + public native @Cast("uint32_t") int version(); public native CUpti_ActivityOpenAccLaunch version(int setter); + + /** + * 1 for any implicit event, such as an implicit wait at a synchronous data construct + * 0 otherwise + */ + public native @Cast("uint32_t") int implicit(); public native CUpti_ActivityOpenAccLaunch implicit(int setter); + + /** + * Device type + */ + public native @Cast("uint32_t") int deviceType(); public native CUpti_ActivityOpenAccLaunch deviceType(int setter); + + /** + * Device number + */ + public native @Cast("uint32_t") int deviceNumber(); public native CUpti_ActivityOpenAccLaunch deviceNumber(int setter); + + /** + * ThreadId + */ + public native @Cast("uint32_t") int threadId(); public native CUpti_ActivityOpenAccLaunch threadId(int setter); + + /** + * Value of async() clause of the corresponding directive + */ + public native @Cast("uint64_t") long async(); public native CUpti_ActivityOpenAccLaunch async(long setter); + + /** + * Internal asynchronous queue number used + */ + public native @Cast("uint64_t") long asyncMap(); public native CUpti_ActivityOpenAccLaunch asyncMap(long setter); + + /** + * The line number of the directive or program construct or the starting line + * number of the OpenACC construct corresponding to the event. + * A negative or zero value means the line number is not known. + */ + public native @Cast("uint32_t") int lineNo(); public native CUpti_ActivityOpenAccLaunch lineNo(int setter); + + /** + * For an OpenACC construct, this contains the line number of the end + * of the construct. A negative or zero value means the line number is not known. + */ + public native @Cast("uint32_t") int endLineNo(); public native CUpti_ActivityOpenAccLaunch endLineNo(int setter); + + /** + * The line number of the first line of the function named in func_name. + * A negative or zero value means the line number is not known. + */ + public native @Cast("uint32_t") int funcLineNo(); public native CUpti_ActivityOpenAccLaunch funcLineNo(int setter); + + /** + * The last line number of the function named in func_name. + * A negative or zero value means the line number is not known. + */ + public native @Cast("uint32_t") int funcEndLineNo(); public native CUpti_ActivityOpenAccLaunch funcEndLineNo(int setter); + + /** + * CUPTI start timestamp + */ + public native @Cast("uint64_t") long start(); public native CUpti_ActivityOpenAccLaunch start(long setter); + + /** + * CUPTI end timestamp + */ + public native @Cast("uint64_t") long end(); public native CUpti_ActivityOpenAccLaunch end(long setter); + + /** + * CUDA device id + * Valid only if deviceType is acc_device_nvidia. + */ + public native @Cast("uint32_t") int cuDeviceId(); public native CUpti_ActivityOpenAccLaunch cuDeviceId(int setter); + + /** + * CUDA context id + * Valid only if deviceType is acc_device_nvidia. + */ + public native @Cast("uint32_t") int cuContextId(); public native CUpti_ActivityOpenAccLaunch cuContextId(int setter); + + /** + * CUDA stream id + * Valid only if deviceType is acc_device_nvidia. + */ + public native @Cast("uint32_t") int cuStreamId(); public native CUpti_ActivityOpenAccLaunch cuStreamId(int setter); + + /** + * The ID of the process where the OpenACC activity is executing. + */ + public native @Cast("uint32_t") int cuProcessId(); public native CUpti_ActivityOpenAccLaunch cuProcessId(int setter); + + /** + * The ID of the thread where the OpenACC activity is executing. + */ + public native @Cast("uint32_t") int cuThreadId(); public native CUpti_ActivityOpenAccLaunch cuThreadId(int setter); + + /** + * The OpenACC correlation ID. + * Valid only if deviceType is acc_device_nvidia. + * If not 0, it uniquely identifies this record. It is identical to the + * externalId in the preceding external correlation record of type + * CUPTI_EXTERNAL_CORRELATION_KIND_OPENACC. + */ + public native @Cast("uint32_t") int externalId(); public native CUpti_ActivityOpenAccLaunch externalId(int setter); + + /** + * A pointer to null-terminated string containing the name of or path to + * the source file, if known, or a null pointer if not. + */ + public native @Cast("const char*") BytePointer srcFile(); public native CUpti_ActivityOpenAccLaunch srcFile(BytePointer setter); + + /** + * A pointer to a null-terminated string containing the name of the + * function in which the event occurred. + */ + public native @Cast("const char*") BytePointer funcName(); public native CUpti_ActivityOpenAccLaunch funcName(BytePointer setter); + + /* --- end of common CUpti_ActivityOpenAcc part --- */ + + /** + * The number of gangs created for this kernel launch + */ + public native @Cast("uint64_t") long numGangs(); public native CUpti_ActivityOpenAccLaunch numGangs(long setter); + + /** + * The number of workers created for this kernel launch + */ + public native @Cast("uint64_t") long numWorkers(); public native CUpti_ActivityOpenAccLaunch numWorkers(long setter); + + /** + * The number of vector lanes created for this kernel launch + */ + public native @Cast("uint64_t") long vectorLength(); public native CUpti_ActivityOpenAccLaunch vectorLength(long setter); + +// #ifndef CUPTILP64 +// #endif + + /** + * A pointer to null-terminated string containing the name of the + * kernel being launched, if known, or a null pointer if not. + */ + public native @Cast("const char*") BytePointer kernelName(); public native CUpti_ActivityOpenAccLaunch kernelName(BytePointer setter); + +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOpenAccOther.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOpenAccOther.java new file mode 100644 index 00000000000..84fc4943e5c --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOpenAccOther.java @@ -0,0 +1,178 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for OpenACC other. + * + * (CUPTI_ACTIVITY_KIND_OPENACC_OTHER). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityOpenAccOther extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityOpenAccOther() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityOpenAccOther(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityOpenAccOther(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityOpenAccOther position(long position) { + return (CUpti_ActivityOpenAccOther)super.position(position); + } + @Override public CUpti_ActivityOpenAccOther getPointer(long i) { + return new CUpti_ActivityOpenAccOther((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_OPENACC_OTHER. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityOpenAccOther kind(int setter); + + /** + * CUPTI OpenACC event kind (@see CUpti_OpenAccEventKind) + */ + public native @Cast("CUpti_OpenAccEventKind") int eventKind(); public native CUpti_ActivityOpenAccOther eventKind(int setter); + + /** + * CUPTI OpenACC parent construct kind (@see CUpti_OpenAccConstructKind) + * + * Note that for applications using PGI OpenACC runtime < 16.1, this + * will always be CUPTI_OPENACC_CONSTRUCT_KIND_UNKNOWN. + */ + public native @Cast("CUpti_OpenAccConstructKind") int parentConstruct(); public native CUpti_ActivityOpenAccOther parentConstruct(int setter); + + /** + * Version number + */ + public native @Cast("uint32_t") int version(); public native CUpti_ActivityOpenAccOther version(int setter); + + /** + * 1 for any implicit event, such as an implicit wait at a synchronous data construct + * 0 otherwise + */ + public native @Cast("uint32_t") int implicit(); public native CUpti_ActivityOpenAccOther implicit(int setter); + + /** + * Device type + */ + public native @Cast("uint32_t") int deviceType(); public native CUpti_ActivityOpenAccOther deviceType(int setter); + + /** + * Device number + */ + public native @Cast("uint32_t") int deviceNumber(); public native CUpti_ActivityOpenAccOther deviceNumber(int setter); + + /** + * ThreadId + */ + public native @Cast("uint32_t") int threadId(); public native CUpti_ActivityOpenAccOther threadId(int setter); + + /** + * Value of async() clause of the corresponding directive + */ + public native @Cast("uint64_t") long async(); public native CUpti_ActivityOpenAccOther async(long setter); + + /** + * Internal asynchronous queue number used + */ + public native @Cast("uint64_t") long asyncMap(); public native CUpti_ActivityOpenAccOther asyncMap(long setter); + + /** + * The line number of the directive or program construct or the starting line + * number of the OpenACC construct corresponding to the event. + * A negative or zero value means the line number is not known. + */ + public native @Cast("uint32_t") int lineNo(); public native CUpti_ActivityOpenAccOther lineNo(int setter); + + /** + * For an OpenACC construct, this contains the line number of the end + * of the construct. A negative or zero value means the line number is not known. + */ + public native @Cast("uint32_t") int endLineNo(); public native CUpti_ActivityOpenAccOther endLineNo(int setter); + + /** + * The line number of the first line of the function named in func_name. + * A negative or zero value means the line number is not known. + */ + public native @Cast("uint32_t") int funcLineNo(); public native CUpti_ActivityOpenAccOther funcLineNo(int setter); + + /** + * The last line number of the function named in func_name. + * A negative or zero value means the line number is not known. + */ + public native @Cast("uint32_t") int funcEndLineNo(); public native CUpti_ActivityOpenAccOther funcEndLineNo(int setter); + + /** + * CUPTI start timestamp + */ + public native @Cast("uint64_t") long start(); public native CUpti_ActivityOpenAccOther start(long setter); + + /** + * CUPTI end timestamp + */ + public native @Cast("uint64_t") long end(); public native CUpti_ActivityOpenAccOther end(long setter); + + /** + * CUDA device id + * Valid only if deviceType is acc_device_nvidia. + */ + public native @Cast("uint32_t") int cuDeviceId(); public native CUpti_ActivityOpenAccOther cuDeviceId(int setter); + + /** + * CUDA context id + * Valid only if deviceType is acc_device_nvidia. + */ + public native @Cast("uint32_t") int cuContextId(); public native CUpti_ActivityOpenAccOther cuContextId(int setter); + + /** + * CUDA stream id + * Valid only if deviceType is acc_device_nvidia. + */ + public native @Cast("uint32_t") int cuStreamId(); public native CUpti_ActivityOpenAccOther cuStreamId(int setter); + + /** + * The ID of the process where the OpenACC activity is executing. + */ + public native @Cast("uint32_t") int cuProcessId(); public native CUpti_ActivityOpenAccOther cuProcessId(int setter); + + /** + * The ID of the thread where the OpenACC activity is executing. + */ + public native @Cast("uint32_t") int cuThreadId(); public native CUpti_ActivityOpenAccOther cuThreadId(int setter); + + /** + * The OpenACC correlation ID. + * Valid only if deviceType is acc_device_nvidia. + * If not 0, it uniquely identifies this record. It is identical to the + * externalId in the preceding external correlation record of type + * CUPTI_EXTERNAL_CORRELATION_KIND_OPENACC. + */ + public native @Cast("uint32_t") int externalId(); public native CUpti_ActivityOpenAccOther externalId(int setter); + + /** + * A pointer to null-terminated string containing the name of or path to + * the source file, if known, or a null pointer if not. + */ + public native @Cast("const char*") BytePointer srcFile(); public native CUpti_ActivityOpenAccOther srcFile(BytePointer setter); + + /** + * A pointer to a null-terminated string containing the name of the + * function in which the event occurred. + */ + public native @Cast("const char*") BytePointer funcName(); public native CUpti_ActivityOpenAccOther funcName(BytePointer setter); + + /* --- end of common CUpti_ActivityOpenAcc part --- */ +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOpenMp.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOpenMp.java new file mode 100644 index 00000000000..a6b30d5b499 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOpenMp.java @@ -0,0 +1,79 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The base activity record for OpenMp records. + * + * @see CUpti_ActivityKind + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityOpenMp extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityOpenMp() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityOpenMp(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityOpenMp(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityOpenMp position(long position) { + return (CUpti_ActivityOpenMp)super.position(position); + } + @Override public CUpti_ActivityOpenMp getPointer(long i) { + return new CUpti_ActivityOpenMp((Pointer)this).offsetAddress(i); + } + + + /** + * The kind of this activity. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityOpenMp kind(int setter); + + /** + * CUPTI OpenMP event kind (@see CUpti_OpenMpEventKind) + */ + public native @Cast("CUpti_OpenMpEventKind") int eventKind(); public native CUpti_ActivityOpenMp eventKind(int setter); + + /** + * Version number + */ + public native @Cast("uint32_t") int version(); public native CUpti_ActivityOpenMp version(int setter); + + /** + * ThreadId + */ + public native @Cast("uint32_t") int threadId(); public native CUpti_ActivityOpenMp threadId(int setter); + + /** + * CUPTI start timestamp + */ + public native @Cast("uint64_t") long start(); public native CUpti_ActivityOpenMp start(long setter); + + /** + * CUPTI end timestamp + */ + public native @Cast("uint64_t") long end(); public native CUpti_ActivityOpenMp end(long setter); + + /** + * The ID of the process where the OpenMP activity is executing. + */ + public native @Cast("uint32_t") int cuProcessId(); public native CUpti_ActivityOpenMp cuProcessId(int setter); + + /** + * The ID of the thread where the OpenMP activity is executing. + */ + public native @Cast("uint32_t") int cuThreadId(); public native CUpti_ActivityOpenMp cuThreadId(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOverhead3.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOverhead3.java new file mode 100644 index 00000000000..425263c984f --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOverhead3.java @@ -0,0 +1,96 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for CUPTI and driver overheads. + * + * This activity record provides CUPTI and driver overhead information + * (CUPTI_ACTIVITY_OVERHEAD). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityOverhead3 extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityOverhead3() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityOverhead3(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityOverhead3(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityOverhead3 position(long position) { + return (CUpti_ActivityOverhead3)super.position(position); + } + @Override public CUpti_ActivityOverhead3 getPointer(long i) { + return new CUpti_ActivityOverhead3((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_OVERHEAD. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityOverhead3 kind(int setter); + + /** + * The kind of overhead, CUPTI, DRIVER, COMPILER etc. + */ + public native @Cast("CUpti_ActivityOverheadKind") int overheadKind(); public native CUpti_ActivityOverhead3 overheadKind(int setter); + + /** + * The kind of activity object that the overhead is associated with. + */ + public native @Cast("CUpti_ActivityObjectKind") int objectKind(); public native CUpti_ActivityOverhead3 objectKind(int setter); + + /** + * The identifier for the activity object. 'objectKind' indicates + * which ID is valid for this record. + */ + public native @ByRef CUpti_ActivityObjectKindId objectId(); public native CUpti_ActivityOverhead3 objectId(CUpti_ActivityObjectKindId setter); + + /** + * The start timestamp for the overhead, in ns. A value of 0 for + * both the start and end timestamps indicates that timestamp + * information could not be collected for the overhead. + */ + public native @Cast("uint64_t") long start(); public native CUpti_ActivityOverhead3 start(long setter); + + /** + * The end timestamp for the overhead, in ns. A value of 0 for both + * the start and end timestamps indicates that timestamp information + * could not be collected for the overhead. + */ + public native @Cast("uint64_t") long end(); public native CUpti_ActivityOverhead3 end(long setter); + + /** + * The correlation ID of the overhead operation to which + * records belong to. This ID is identical to the + * correlation ID in the driver or runtime API activity record that + * launched the overhead operation. + * In some cases, it can be zero, such as for CUPTI_ACTIVITY_OVERHEAD_CUPTI_BUFFER_FLUSH records. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityOverhead3 correlationId(int setter); + + /** + * Reserved for internal use. + */ + public native @Cast("uint32_t") int reserved0(); public native CUpti_ActivityOverhead3 reserved0(int setter); + + /** + * Pointer to the struct with additional details about the overhead. + * Refer CUpti_ActivityOverheadKind enum and the corresponding structure to typecast and access additional overhead data. + * Client is responsible for freeing this memory using the free function when done. + */ + public native Pointer overheadData(); public native CUpti_ActivityOverhead3 overheadData(Pointer setter); + +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOverheadCommandBufferFullData.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOverheadCommandBufferFullData.java new file mode 100644 index 00000000000..0b80f6bc2b4 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityOverheadCommandBufferFullData.java @@ -0,0 +1,52 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The structure to provide additional data for CUPTI_ACTIVITY_OVERHEAD_COMMAND_BUFFER_FULL. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityOverheadCommandBufferFullData extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityOverheadCommandBufferFullData() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityOverheadCommandBufferFullData(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityOverheadCommandBufferFullData(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityOverheadCommandBufferFullData position(long position) { + return (CUpti_ActivityOverheadCommandBufferFullData)super.position(position); + } + @Override public CUpti_ActivityOverheadCommandBufferFullData getPointer(long i) { + return new CUpti_ActivityOverheadCommandBufferFullData((Pointer)this).offsetAddress(i); + } + + /** + * The length of the command buffer. + * + */ + public native @Cast("uint32_t") int commandBufferLength(); public native CUpti_ActivityOverheadCommandBufferFullData commandBufferLength(int setter); + /** + * The channel ID of the command buffer. + * + */ + public native @Cast("uint32_t") int channelID(); public native CUpti_ActivityOverheadCommandBufferFullData channelID(int setter); + /** + * The channel type of the command buffer. + * + */ + public native @Cast("uint32_t") int channelType(); public native CUpti_ActivityOverheadCommandBufferFullData channelType(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityPCSampling3.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityPCSampling3.java new file mode 100644 index 00000000000..f2790e5f788 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityPCSampling3.java @@ -0,0 +1,90 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for PC sampling. + * + * This activity records information obtained by sampling PC + * (CUPTI_ACTIVITY_KIND_PC_SAMPLING). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityPCSampling3 extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityPCSampling3() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityPCSampling3(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityPCSampling3(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityPCSampling3 position(long position) { + return (CUpti_ActivityPCSampling3)super.position(position); + } + @Override public CUpti_ActivityPCSampling3 getPointer(long i) { + return new CUpti_ActivityPCSampling3((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_PC_SAMPLING. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityPCSampling3 kind(int setter); + + /** + * The properties of this instruction. + */ + public native @Cast("CUpti_ActivityFlag") int flags(); public native CUpti_ActivityPCSampling3 flags(int setter); + + /** + * The ID for source locator. + */ + public native @Cast("uint32_t") int sourceLocatorId(); public native CUpti_ActivityPCSampling3 sourceLocatorId(int setter); + + /** + * The correlation ID of the kernel to which this result is associated. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityPCSampling3 correlationId(int setter); + + /** + * Correlation ID with global/device function name + */ + public native @Cast("uint32_t") int functionId(); public native CUpti_ActivityPCSampling3 functionId(int setter); + + /** + * Number of times the PC was sampled with the stallReason in the record. + * These samples indicate that no instruction was issued in that cycle from + * the warp scheduler from where the warp was sampled. + * Field is valid for devices with compute capability 6.0 and higher + */ + public native @Cast("uint32_t") int latencySamples(); public native CUpti_ActivityPCSampling3 latencySamples(int setter); + + /** + * Number of times the PC was sampled with the stallReason in the record. + * The same PC can be sampled with different stall reasons. The count includes + * latencySamples. + */ + public native @Cast("uint32_t") int samples(); public native CUpti_ActivityPCSampling3 samples(int setter); + + /** + * Current stall reason. Includes one of the reasons from + * \ref CUpti_ActivityPCSamplingStallReason + */ + public native @Cast("CUpti_ActivityPCSamplingStallReason") int stallReason(); public native CUpti_ActivityPCSampling3 stallReason(int setter); + + /** + * The pc offset for the instruction. + */ + public native @Cast("uint64_t") long pcOffset(); public native CUpti_ActivityPCSampling3 pcOffset(long setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityPCSamplingConfig.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityPCSamplingConfig.java new file mode 100644 index 00000000000..859a4ed8c37 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityPCSamplingConfig.java @@ -0,0 +1,65 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief PC sampling configuration structure + * + * This structure defines the pc sampling configuration. + * + * See function \ref cuptiActivityConfigurePCSampling + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityPCSamplingConfig extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityPCSamplingConfig() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityPCSamplingConfig(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityPCSamplingConfig(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityPCSamplingConfig position(long position) { + return (CUpti_ActivityPCSamplingConfig)super.position(position); + } + @Override public CUpti_ActivityPCSamplingConfig getPointer(long i) { + return new CUpti_ActivityPCSamplingConfig((Pointer)this).offsetAddress(i); + } + + /** + * Size of configuration structure. + * CUPTI client should set the size of the structure. It will be used in CUPTI to check what fields are + * available in the structure. Used to preserve backward compatibility. + */ + public native @Cast("uint32_t") int size(); public native CUpti_ActivityPCSamplingConfig size(int setter); + + /** + * There are 5 level provided for sampling period. The level + * internally maps to a period in terms of cycles. Same level can + * map to different number of cycles on different gpus. No of + * cycles will be chosen to minimize information loss. The period + * chosen will be given by samplingPeriodInCycles in + * \ref CUpti_ActivityPCSamplingRecordInfo for each kernel instance. + */ + public native @Cast("CUpti_ActivityPCSamplingPeriod") int samplingPeriod(); public native CUpti_ActivityPCSamplingConfig samplingPeriod(int setter); + + /** + * This will override the period set by samplingPeriod. Value 0 in samplingPeriod2 will be + * considered as samplingPeriod2 should not be used and samplingPeriod should be used. + * Valid values for samplingPeriod2 are between 5 to 31 both inclusive. + * This will set the sampling period to (2^samplingPeriod2) cycles. + */ + public native @Cast("uint32_t") int samplingPeriod2(); public native CUpti_ActivityPCSamplingConfig samplingPeriod2(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityPCSamplingRecordInfo.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityPCSamplingRecordInfo.java new file mode 100644 index 00000000000..4d439a660b5 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityPCSamplingRecordInfo.java @@ -0,0 +1,64 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for record status for PC sampling. + * + * This activity records information obtained by sampling PC + * (CUPTI_ACTIVITY_KIND_PC_SAMPLING_RECORD_INFO). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityPCSamplingRecordInfo extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityPCSamplingRecordInfo() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityPCSamplingRecordInfo(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityPCSamplingRecordInfo(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityPCSamplingRecordInfo position(long position) { + return (CUpti_ActivityPCSamplingRecordInfo)super.position(position); + } + @Override public CUpti_ActivityPCSamplingRecordInfo getPointer(long i) { + return new CUpti_ActivityPCSamplingRecordInfo((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_PC_SAMPLING_RECORD_INFO. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityPCSamplingRecordInfo kind(int setter); + + /** + * The correlation ID of the kernel to which this result is associated. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityPCSamplingRecordInfo correlationId(int setter); + + /** + * Number of times the PC was sampled for this kernel instance including all + * dropped samples. + */ + public native @Cast("uint64_t") long totalSamples(); public native CUpti_ActivityPCSamplingRecordInfo totalSamples(long setter); + + /** + * Number of samples that were dropped by hardware due to backpressure/overflow. + */ + public native @Cast("uint64_t") long droppedSamples(); public native CUpti_ActivityPCSamplingRecordInfo droppedSamples(long setter); + /** + * Sampling period in terms of number of cycles . + */ + public native @Cast("uint64_t") long samplingPeriodInCycles(); public native CUpti_ActivityPCSamplingRecordInfo samplingPeriodInCycles(long setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityPcie.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityPcie.java new file mode 100644 index 00000000000..778abb10543 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityPcie.java @@ -0,0 +1,128 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief PCI devices information required to construct topology + * + * This structure gives capabilities of GPU and PCI bridge connected to the PCIE bus + * which can be used to understand the topology. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityPcie extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityPcie() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityPcie(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityPcie(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityPcie position(long position) { + return (CUpti_ActivityPcie)super.position(position); + } + @Override public CUpti_ActivityPcie getPointer(long i) { + return new CUpti_ActivityPcie((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_PCIE. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityPcie kind(int setter); + + /** + * Type of device in topology, \ref CUpti_PcieDeviceType. If type is + * CUPTI_PCIE_DEVICE_TYPE_GPU use devId for id and gpuAttr and if type is + * CUPTI_PCIE_DEVICE_TYPE_BRIDGE use bridgeId for id and bridgeAttr. + */ + public native @Cast("CUpti_PcieDeviceType") int type(); public native CUpti_ActivityPcie type(int setter); + + /** + * A unique identifier for GPU or Bridge in Topology + */ + /** + * GPU device ID + */ + @Name("id.devId") public native @Cast("CUdevice") int id_devId(); public native CUpti_ActivityPcie id_devId(int setter); + + /** + * A unique identifier for Bridge in the Topology + */ + @Name("id.bridgeId") public native @Cast("uint32_t") int id_bridgeId(); public native CUpti_ActivityPcie id_bridgeId(int setter); + + /** + * Domain for the GPU or Bridge, required to identify which PCIE bus it belongs to in + * multiple NUMA systems. + */ + public native @Cast("uint32_t") int domain(); public native CUpti_ActivityPcie domain(int setter); + + /** + * PCIE Generation of GPU or Bridge. + */ + public native @Cast("uint16_t") short pcieGeneration(); public native CUpti_ActivityPcie pcieGeneration(short setter); + + /** + * Link rate of the GPU or bridge in gigatransfers per second (GT/s) + */ + public native @Cast("uint16_t") short linkRate(); public native CUpti_ActivityPcie linkRate(short setter); + + /** + * Link width of the GPU or bridge + */ + public native @Cast("uint16_t") short linkWidth(); public native CUpti_ActivityPcie linkWidth(short setter); + + /** + * Upstream bus ID for the GPU or PCI bridge. Required to identify which bus it is + * connected to in the topology. + */ + public native @Cast("uint16_t") short upstreamBus(); public native CUpti_ActivityPcie upstreamBus(short setter); + + /** + * Attributes for more information about GPU (gpuAttr) or PCI Bridge (bridgeAttr) + */ + /** + * UUID for the device. \ref CUpti_ActivityDevice5. + */ + @Name("attr.gpuAttr.uuidDev") public native @ByRef CUuuid attr_gpuAttr_uuidDev(); public native CUpti_ActivityPcie attr_gpuAttr_uuidDev(CUuuid setter); + + /** + * CUdevice with which this device has P2P capability. + * This can also be obtained by querying cuDeviceCanAccessPeer or + * cudaDeviceCanAccessPeer APIs + */ + @Name("attr.gpuAttr.peerDev") public native @Cast("CUdevice") int attr_gpuAttr_peerDev(int i); public native CUpti_ActivityPcie attr_gpuAttr_peerDev(int i, int setter); + @Name("attr.gpuAttr.peerDev") @MemberGetter public native @Cast("CUdevice*") IntPointer attr_gpuAttr_peerDev(); + + /** + * The downstream bus number, used to search downstream devices/bridges connected + * to this bridge. + */ + @Name("attr.bridgeAttr.secondaryBus") public native @Cast("uint16_t") short attr_bridgeAttr_secondaryBus(); public native CUpti_ActivityPcie attr_bridgeAttr_secondaryBus(short setter); + + /** + * Device ID of the bridge + */ + @Name("attr.bridgeAttr.deviceId") public native @Cast("uint16_t") short attr_bridgeAttr_deviceId(); public native CUpti_ActivityPcie attr_bridgeAttr_deviceId(short setter); + + /** + * Vendor ID of the bridge + */ + @Name("attr.bridgeAttr.vendorId") public native @Cast("uint16_t") short attr_bridgeAttr_vendorId(); public native CUpti_ActivityPcie attr_bridgeAttr_vendorId(short setter); + + /** + * Padding for alignment + */ + @Name("attr.bridgeAttr.pad0") public native @Cast("uint16_t") short attr_bridgeAttr_pad0(); public native CUpti_ActivityPcie attr_bridgeAttr_pad0(short setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityPreemption.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityPreemption.java new file mode 100644 index 00000000000..aee21c1c1be --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityPreemption.java @@ -0,0 +1,80 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for a preemption of a CDP kernel. + * + * This activity record represents a preemption of a CDP kernel. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityPreemption extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityPreemption() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityPreemption(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityPreemption(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityPreemption position(long position) { + return (CUpti_ActivityPreemption)super.position(position); + } + @Override public CUpti_ActivityPreemption getPointer(long i) { + return new CUpti_ActivityPreemption((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_PREEMPTION + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityPreemption kind(int setter); + + /** + * kind of the preemption + */ + public native @Cast("CUpti_ActivityPreemptionKind") int preemptionKind(); public native CUpti_ActivityPreemption preemptionKind(int setter); + + /** + * The timestamp of the preemption, in ns. A value of 0 indicates + * that timestamp information could not be collected for the + * preemption. + */ + public native @Cast("uint64_t") long timestamp(); public native CUpti_ActivityPreemption timestamp(long setter); + + /** + * The grid-id of the block that is preempted + */ + public native @Cast("int64_t") long gridId(); public native CUpti_ActivityPreemption gridId(long setter); + + /** + * The X-dimension of the block that is preempted + */ + public native @Cast("uint32_t") int blockX(); public native CUpti_ActivityPreemption blockX(int setter); + + /** + * The Y-dimension of the block that is preempted + */ + public native @Cast("uint32_t") int blockY(); public native CUpti_ActivityPreemption blockY(int setter); + + /** + * The Z-dimension of the block that is preempted + */ + public native @Cast("uint32_t") int blockZ(); public native CUpti_ActivityPreemption blockZ(int setter); + + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint32_t") int pad(); public native CUpti_ActivityPreemption pad(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivitySharedAccess.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivitySharedAccess.java new file mode 100644 index 00000000000..a40aa89e5eb --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivitySharedAccess.java @@ -0,0 +1,99 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for source-level shared + * access. + * + * This activity records the locations of the shared + * accesses in the source + * (CUPTI_ACTIVITY_KIND_SHARED_ACCESS). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivitySharedAccess extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivitySharedAccess() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivitySharedAccess(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivitySharedAccess(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivitySharedAccess position(long position) { + return (CUpti_ActivitySharedAccess)super.position(position); + } + @Override public CUpti_ActivitySharedAccess getPointer(long i) { + return new CUpti_ActivitySharedAccess((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_SHARED_ACCESS. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivitySharedAccess kind(int setter); + + /** + * The properties of this shared access. + */ + public native @Cast("CUpti_ActivityFlag") int flags(); public native CUpti_ActivitySharedAccess flags(int setter); + + /** + * The ID for source locator. + */ + public native @Cast("uint32_t") int sourceLocatorId(); public native CUpti_ActivitySharedAccess sourceLocatorId(int setter); + + /** + * The correlation ID of the kernel to which this result is associated. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivitySharedAccess correlationId(int setter); + + /** + * Correlation ID with global/device function name + */ + public native @Cast("uint32_t") int functionId(); public native CUpti_ActivitySharedAccess functionId(int setter); + + /** + * The pc offset for the access. + */ + public native @Cast("uint32_t") int pcOffset(); public native CUpti_ActivitySharedAccess pcOffset(int setter); + + /** + * This increments each time when this instruction is executed by number + * of threads that executed this instruction with predicate and condition code evaluating to true. + */ + public native @Cast("uint64_t") long threadsExecuted(); public native CUpti_ActivitySharedAccess threadsExecuted(long setter); + + /** + * The total number of shared memory transactions generated by this access + */ + public native @Cast("uint64_t") long sharedTransactions(); public native CUpti_ActivitySharedAccess sharedTransactions(long setter); + + /** + * The minimum number of shared memory transactions possible based on the access pattern. + */ + public native @Cast("uint64_t") long theoreticalSharedTransactions(); public native CUpti_ActivitySharedAccess theoreticalSharedTransactions(long setter); + + /** + * The number of times this instruction was executed per warp. It will be incremented + * when at least one of thread among warp is active with predicate and condition code + * evaluating to true. + */ + public native @Cast("uint32_t") int executed(); public native CUpti_ActivitySharedAccess executed(int setter); + + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint32_t") int pad(); public native CUpti_ActivitySharedAccess pad(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivitySourceLocator.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivitySourceLocator.java new file mode 100644 index 00000000000..065982bc93f --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivitySourceLocator.java @@ -0,0 +1,67 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for source locator. + * + * This activity record represents a source locator + * (CUPTI_ACTIVITY_KIND_SOURCE_LOCATOR). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivitySourceLocator extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivitySourceLocator() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivitySourceLocator(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivitySourceLocator(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivitySourceLocator position(long position) { + return (CUpti_ActivitySourceLocator)super.position(position); + } + @Override public CUpti_ActivitySourceLocator getPointer(long i) { + return new CUpti_ActivitySourceLocator((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_SOURCE_LOCATOR. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivitySourceLocator kind(int setter); + + /** + * The ID for the source path, will be used in all the source level + * results. + */ + public native @Cast("uint32_t") int id(); public native CUpti_ActivitySourceLocator id(int setter); + + /** + * The line number in the source . + */ + public native @Cast("uint32_t") int lineNumber(); public native CUpti_ActivitySourceLocator lineNumber(int setter); + +// #ifdef CUPTILP64 + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint32_t") int pad(); public native CUpti_ActivitySourceLocator pad(int setter); +// #endif + + /** + * The path for the file. + */ + public native @Cast("const char*") BytePointer fileName(); public native CUpti_ActivitySourceLocator fileName(BytePointer setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityStream.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityStream.java new file mode 100644 index 00000000000..c92709671bf --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityStream.java @@ -0,0 +1,68 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for CUDA stream. + * + * This activity is used to track created streams. + * (CUPTI_ACTIVITY_KIND_STREAM). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityStream extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityStream() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityStream(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityStream(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityStream position(long position) { + return (CUpti_ActivityStream)super.position(position); + } + @Override public CUpti_ActivityStream getPointer(long i) { + return new CUpti_ActivityStream((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_STREAM. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityStream kind(int setter); + /** + * The ID of the context where the stream was created. + */ + public native @Cast("uint32_t") int contextId(); public native CUpti_ActivityStream contextId(int setter); + + /** + * A unique stream ID to identify the stream. + */ + public native @Cast("uint32_t") int streamId(); public native CUpti_ActivityStream streamId(int setter); + + /** + * The clamped priority for the stream. + */ + public native @Cast("uint32_t") int priority(); public native CUpti_ActivityStream priority(int setter); + + /** + * Flags associated with the stream. + */ + public native @Cast("CUpti_ActivityStreamFlag") int flag(); public native CUpti_ActivityStream flag(int setter); + + /** + * The correlation ID of the API to which this result is associated. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivityStream correlationId(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivitySynchronization.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivitySynchronization.java new file mode 100644 index 00000000000..8a9f594b6f9 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivitySynchronization.java @@ -0,0 +1,89 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for synchronization management. + * + * This activity is used to track various CUDA synchronization APIs. + * (CUPTI_ACTIVITY_KIND_SYNCHRONIZATION). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivitySynchronization extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivitySynchronization() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivitySynchronization(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivitySynchronization(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivitySynchronization position(long position) { + return (CUpti_ActivitySynchronization)super.position(position); + } + @Override public CUpti_ActivitySynchronization getPointer(long i) { + return new CUpti_ActivitySynchronization((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_SYNCHRONIZATION. + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivitySynchronization kind(int setter); + + /** + * The type of record. + */ + public native @Cast("CUpti_ActivitySynchronizationType") int type(); public native CUpti_ActivitySynchronization type(int setter); + + /** + * The start timestamp for the function, in ns. A value of 0 for + * both the start and end timestamps indicates that timestamp + * information could not be collected for the function. + */ + public native @Cast("uint64_t") long start(); public native CUpti_ActivitySynchronization start(long setter); + + /** + * The end timestamp for the function, in ns. A value of 0 for both + * the start and end timestamps indicates that timestamp information + * could not be collected for the function. + */ + public native @Cast("uint64_t") long end(); public native CUpti_ActivitySynchronization end(long setter); + + /** + * The correlation ID of the API to which this result is associated. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_ActivitySynchronization correlationId(int setter); + + /** + * The ID of the context for which the synchronization API is called. + * In case of context synchronization API it is the context id for which the API is called. + * In case of stream/event synchronization it is the ID of the context where the stream/event was created. + */ + public native @Cast("uint32_t") int contextId(); public native CUpti_ActivitySynchronization contextId(int setter); + + /** + * The compute stream for which the synchronization API is called. + * A CUPTI_SYNCHRONIZATION_INVALID_VALUE value indicate the field is not applicable for this record. + * Not valid for cuCtxSynchronize, cuEventSynchronize. + */ + public native @Cast("uint32_t") int streamId(); public native CUpti_ActivitySynchronization streamId(int setter); + + /** + * The event ID for which the synchronization API is called. + * A CUPTI_SYNCHRONIZATION_INVALID_VALUE value indicate the field is not applicable for this record. + * Not valid for cuCtxSynchronize, cuStreamSynchronize. + */ + public native @Cast("uint32_t") int cudaEventId(); public native CUpti_ActivitySynchronization cudaEventId(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityUnifiedMemoryCounter2.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityUnifiedMemoryCounter2.java new file mode 100644 index 00000000000..e5ac8e2d7ef --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityUnifiedMemoryCounter2.java @@ -0,0 +1,151 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief The activity record for Unified Memory counters (CUDA 7.0 and beyond) + * + * This activity record represents a Unified Memory counter + * (CUPTI_ACTIVITY_KIND_UNIFIED_MEMORY_COUNTER). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityUnifiedMemoryCounter2 extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityUnifiedMemoryCounter2() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityUnifiedMemoryCounter2(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityUnifiedMemoryCounter2(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityUnifiedMemoryCounter2 position(long position) { + return (CUpti_ActivityUnifiedMemoryCounter2)super.position(position); + } + @Override public CUpti_ActivityUnifiedMemoryCounter2 getPointer(long i) { + return new CUpti_ActivityUnifiedMemoryCounter2((Pointer)this).offsetAddress(i); + } + + /** + * The activity record kind, must be CUPTI_ACTIVITY_KIND_UNIFIED_MEMORY_COUNTER + */ + public native @Cast("CUpti_ActivityKind") int kind(); public native CUpti_ActivityUnifiedMemoryCounter2 kind(int setter); + + /** + * The Unified Memory counter kind + */ + public native @Cast("CUpti_ActivityUnifiedMemoryCounterKind") int counterKind(); public native CUpti_ActivityUnifiedMemoryCounter2 counterKind(int setter); + + /** + * Value of the counter + * For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_HTOD, + * CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_DTOH, + * CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THREASHING and + * CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_REMOTE_MAP, it is the size of the + * memory region in bytes. + * For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_GPU_PAGE_FAULT, it + * is the number of page fault groups for the same page. + * For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_CPU_PAGE_FAULT_COUNT, + * it is the program counter for the instruction that caused fault. + */ + public native @Cast("uint64_t") long value(); public native CUpti_ActivityUnifiedMemoryCounter2 value(long setter); + + /** + * The start timestamp of the counter, in ns. + * For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_HTOD and + * CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_DTOH, timestamp is + * captured when activity starts on GPU. + * For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_GPU_PAGE_FAULT and + * CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_CPU_PAGE_FAULT_COUNT, timestamp is + * captured when CUDA driver started processing the fault. + * For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THRASHING, timestamp + * is captured when CUDA driver detected thrashing of memory region. + * For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THROTTLING, + * timestamp is captured when throttling operation was started by CUDA driver. + * For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_REMOTE_MAP, + * timestamp is captured when CUDA driver has pushed all required operations + * to the processor specified by dstId. + */ + public native @Cast("uint64_t") long start(); public native CUpti_ActivityUnifiedMemoryCounter2 start(long setter); + + /** + * The end timestamp of the counter, in ns. + * Ignore this field if counterKind is + * CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_CPU_PAGE_FAULT_COUNT or + * CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THRASHING or + * CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_REMOTE_MAP. + * For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_HTOD and + * CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_DTOH, timestamp is + * captured when activity finishes on GPU. + * For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_GPU_PAGE_FAULT, timestamp is + * captured when CUDA driver queues the replay of faulting memory accesses on the GPU + * For counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THROTTLING, timestamp + * is captured when throttling operation was finished by CUDA driver + */ + public native @Cast("uint64_t") long end(); public native CUpti_ActivityUnifiedMemoryCounter2 end(long setter); + + /** + * This is the virtual base address of the page/s being transferred. For cpu and + * gpu faults, the virtual address for the page that faulted. + */ + public native @Cast("uint64_t") @Name("address") long _address(); public native CUpti_ActivityUnifiedMemoryCounter2 _address(long setter); + + /** + * The ID of the source CPU/device involved in the memory transfer, page fault, thrashing, + * throttling or remote map operation. For counterKind + * CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THRASHING, it is a bitwise ORing of the + * device IDs fighting for the memory region. Ignore this field if counterKind is + * CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_CPU_PAGE_FAULT_COUNT + */ + public native @Cast("uint32_t") int srcId(); public native CUpti_ActivityUnifiedMemoryCounter2 srcId(int setter); + + /** + * The ID of the destination CPU/device involved in the memory transfer or remote map + * operation. Ignore this field if counterKind is + * CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_GPU_PAGE_FAULT or + * CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_CPU_PAGE_FAULT_COUNT or + * CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THRASHING or + * CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THROTTLING + */ + public native @Cast("uint32_t") int dstId(); public native CUpti_ActivityUnifiedMemoryCounter2 dstId(int setter); + + /** + * The ID of the stream causing the transfer. + * This value of this field is invalid. + */ + public native @Cast("uint32_t") int streamId(); public native CUpti_ActivityUnifiedMemoryCounter2 streamId(int setter); + + /** + * The ID of the process to which this record belongs to. + */ + public native @Cast("uint32_t") int processId(); public native CUpti_ActivityUnifiedMemoryCounter2 processId(int setter); + + /** + * The flags associated with this record. See enums \ref CUpti_ActivityUnifiedMemoryAccessType + * if counterKind is CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_GPU_PAGE_FAULT + * and \ref CUpti_ActivityUnifiedMemoryMigrationCause if counterKind is + * CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_HTOD or + * CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_HTOD + * and \ref CUpti_ActivityUnifiedMemoryRemoteMapCause if counterKind is + * CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_REMOTE_MAP and \ref CUpti_ActivityFlag + * if counterKind is CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THRASHING or + * CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THROTTLING + */ + public native @Cast("uint32_t") int flags(); public native CUpti_ActivityUnifiedMemoryCounter2 flags(int setter); + + /** + * Undefined. Reserved for internal use. + */ + public native @Cast("uint32_t") int pad(); public native CUpti_ActivityUnifiedMemoryCounter2 pad(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityUnifiedMemoryCounterConfig.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityUnifiedMemoryCounterConfig.java new file mode 100644 index 00000000000..69a2f21b556 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ActivityUnifiedMemoryCounterConfig.java @@ -0,0 +1,55 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ActivityUnifiedMemoryCounterConfig extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ActivityUnifiedMemoryCounterConfig() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ActivityUnifiedMemoryCounterConfig(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ActivityUnifiedMemoryCounterConfig(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ActivityUnifiedMemoryCounterConfig position(long position) { + return (CUpti_ActivityUnifiedMemoryCounterConfig)super.position(position); + } + @Override public CUpti_ActivityUnifiedMemoryCounterConfig getPointer(long i) { + return new CUpti_ActivityUnifiedMemoryCounterConfig((Pointer)this).offsetAddress(i); + } + + /** + * Unified Memory counter Counter scope. (deprecated in CUDA 7.0) + */ + public native @Cast("CUpti_ActivityUnifiedMemoryCounterScope") int scope(); public native CUpti_ActivityUnifiedMemoryCounterConfig scope(int setter); + + /** + * Unified Memory counter Counter kind + */ + public native @Cast("CUpti_ActivityUnifiedMemoryCounterKind") int kind(); public native CUpti_ActivityUnifiedMemoryCounterConfig kind(int setter); + + /** + * Device id of the target device. This is relevant only + * for single device scopes. (deprecated in CUDA 7.0) + */ + public native @Cast("uint32_t") int deviceId(); public native CUpti_ActivityUnifiedMemoryCounterConfig deviceId(int setter); + + /** + * Control to enable/disable the counter. To enable the counter + * set it to non-zero value while disable is indicated by zero. + */ + public native @Cast("uint32_t") int enable(); public native CUpti_ActivityUnifiedMemoryCounterConfig enable(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_BuffersCallbackCompleteFunc.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_BuffersCallbackCompleteFunc.java new file mode 100644 index 00000000000..7130423182d --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_BuffersCallbackCompleteFunc.java @@ -0,0 +1,56 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief Function type for callback used by CUPTI to return a buffer + * of activity records. + * + * This callback function returns to the CUPTI client a buffer + * containing activity records. The buffer contains \p validSize + * bytes of activity records which should be read using + * cuptiActivityGetNextRecord. The number of dropped records can be + * read using cuptiActivityGetNumDroppedRecords. After this call CUPTI + * relinquished ownership of the buffer and will not use it + * anymore. The client may return the buffer to CUPTI using the + * CUpti_BuffersCallbackRequestFunc callback. + * Note: CUDA 6.0 onwards, all buffers returned by this callback are + * global buffers i.e. there is no context/stream specific buffer. + * User needs to parse the global buffer to extract the context/stream + * specific activity records. + * + * @param context The context this buffer is associated with. If NULL, the + * buffer is associated with the global activities. This field is deprecated + * as of CUDA 6.0 and will always be NULL. + * @param streamId The stream id this buffer is associated with. + * This field is deprecated as of CUDA 6.0 and will always be NULL. + * @param buffer The activity record buffer. + * @param size The total size of the buffer in bytes as set in + * CUpti_BuffersCallbackRequestFunc. + * @param validSize The number of valid bytes in the buffer. + */ +@Convention("CUPTIAPI") @Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_BuffersCallbackCompleteFunc extends FunctionPointer { + static { Loader.load(); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_BuffersCallbackCompleteFunc(Pointer p) { super(p); } + protected CUpti_BuffersCallbackCompleteFunc() { allocate(); } + private native void allocate(); + public native void call( + CUctx_st context, + @Cast("uint32_t") int streamId, + @Cast("uint8_t*") BytePointer buffer, + @Cast("size_t") long size, + @Cast("size_t") long validSize); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_BuffersCallbackRequestFunc.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_BuffersCallbackRequestFunc.java new file mode 100644 index 00000000000..7d76045d783 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_BuffersCallbackRequestFunc.java @@ -0,0 +1,45 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief Function type for callback used by CUPTI to request an empty + * buffer for storing activity records. + * + * This callback function signals the CUPTI client that an activity + * buffer is needed by CUPTI. The activity buffer is used by CUPTI to + * store activity records. The callback function can decline the + * request by setting \p *buffer to NULL. In this case CUPTI may drop + * activity records. + * + * @param buffer Returns the new buffer. If set to NULL then no buffer + * is returned. + * @param size Returns the size of the returned buffer. + * @param maxNumRecords Returns the maximum number of records that + * should be placed in the buffer. If 0 then the buffer is filled with + * as many records as possible. If > 0 the buffer is filled with at + * most that many records before it is returned. + */ +@Convention("CUPTIAPI") @Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_BuffersCallbackRequestFunc extends FunctionPointer { + static { Loader.load(); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_BuffersCallbackRequestFunc(Pointer p) { super(p); } + protected CUpti_BuffersCallbackRequestFunc() { allocate(); } + private native void allocate(); + public native void call( + @Cast("uint8_t**") PointerPointer buffer, + @Cast("size_t*") SizeTPointer size, + @Cast("size_t*") SizeTPointer maxNumRecords); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_CallbackData.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_CallbackData.java new file mode 100644 index 00000000000..0e79317c8de --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_CallbackData.java @@ -0,0 +1,124 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief Data passed into a runtime or driver API callback function. + * + * Data passed into a runtime or driver API callback function as the + * \p cbdata argument to \ref CUpti_CallbackFunc. The \p cbdata will + * be this type for \p domain equal to CUPTI_CB_DOMAIN_DRIVER_API or + * CUPTI_CB_DOMAIN_RUNTIME_API. The callback data is valid only within + * the invocation of the callback function that is passed the data. If + * you need to retain some data for use outside of the callback, you + * must make a copy of that data. For example, if you make a shallow + * copy of CUpti_CallbackData within a callback, you cannot + * dereference \p functionParams outside of that callback to access + * the function parameters. \p functionName is an exception: the + * string pointed to by \p functionName is a global constant and so + * may be accessed outside of the callback. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_CallbackData extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_CallbackData() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_CallbackData(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_CallbackData(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_CallbackData position(long position) { + return (CUpti_CallbackData)super.position(position); + } + @Override public CUpti_CallbackData getPointer(long i) { + return new CUpti_CallbackData((Pointer)this).offsetAddress(i); + } + + /** + * Point in the runtime or driver function from where the callback + * was issued. + */ + public native @Cast("CUpti_ApiCallbackSite") int callbackSite(); public native CUpti_CallbackData callbackSite(int setter); + + /** + * Name of the runtime or driver API function which issued the + * callback. This string is a global constant and so may be + * accessed outside of the callback. + */ + public native @Cast("const char*") BytePointer functionName(); public native CUpti_CallbackData functionName(BytePointer setter); + + /** + * Pointer to the arguments passed to the runtime or driver API + * call. See generated_cuda_runtime_api_meta.h and + * generated_cuda_meta.h for structure definitions for the + * parameters for each runtime and driver API function. + */ + public native @Const Pointer functionParams(); public native CUpti_CallbackData functionParams(Pointer setter); + + /** + * Pointer to the return value of the runtime or driver API + * call. This field is only valid within the exit::CUPTI_API_EXIT + * callback. For a runtime API \p functionReturnValue points to a + * \p cudaError_t. For a driver API \p functionReturnValue points + * to a \p CUresult. + */ + public native Pointer functionReturnValue(); public native CUpti_CallbackData functionReturnValue(Pointer setter); + + /** + * Name of the symbol operated on by the runtime or driver API + * function which issued the callback. This entry is valid only for + * driver and runtime launch callbacks, where it returns the name of + * the kernel. + */ + public native @Cast("const char*") BytePointer symbolName(); public native CUpti_CallbackData symbolName(BytePointer setter); + + /** + * Driver context current to the thread, or null if no context is + * current. This value can change from the entry to exit callback + * of a runtime API function if the runtime initializes a context. + */ + public native CUctx_st context(); public native CUpti_CallbackData context(CUctx_st setter); + + /** + * Unique ID for the CUDA context associated with the thread. The + * UIDs are assigned sequentially as contexts are created and are + * unique within a process. + */ + public native @Cast("uint32_t") int contextUid(); public native CUpti_CallbackData contextUid(int setter); + + /** + * Pointer to data shared between the entry and exit callbacks of + * a given runtime or drive API function invocation. This field + * can be used to pass 64-bit values from the entry callback to + * the corresponding exit callback. + */ + public native @Cast("uint64_t*") LongPointer correlationData(); public native CUpti_CallbackData correlationData(LongPointer setter); + + /** + * The activity record correlation ID for this callback. For a + * driver domain callback (i.e. \p domain + * CUPTI_CB_DOMAIN_DRIVER_API) this ID will equal the correlation ID + * in the CUpti_ActivityAPI record corresponding to the CUDA driver + * function call. For a runtime domain callback (i.e. \p domain + * CUPTI_CB_DOMAIN_RUNTIME_API) this ID will equal the correlation + * ID in the CUpti_ActivityAPI record corresponding to the CUDA + * runtime function call. Within the callback, this ID can be + * recorded to correlate user data with the activity record. This + * field is new in 4.1. + */ + public native @Cast("uint32_t") int correlationId(); public native CUpti_CallbackData correlationId(int setter); + +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_CallbackFunc.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_CallbackFunc.java new file mode 100644 index 00000000000..ed59d0e8914 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_CallbackFunc.java @@ -0,0 +1,45 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief Function type for a callback. + * + * Function type for a callback. The type of the data passed to the + * callback in \p cbdata depends on the \p domain. If \p domain is + * CUPTI_CB_DOMAIN_DRIVER_API or CUPTI_CB_DOMAIN_RUNTIME_API the type + * of \p cbdata will be CUpti_CallbackData. If \p domain is + * CUPTI_CB_DOMAIN_RESOURCE the type of \p cbdata will be + * CUpti_ResourceData. If \p domain is CUPTI_CB_DOMAIN_SYNCHRONIZE the + * type of \p cbdata will be CUpti_SynchronizeData. If \p domain is + * CUPTI_CB_DOMAIN_NVTX the type of \p cbdata will be CUpti_NvtxData. + * + * @param userdata User data supplied at subscription of the callback + * @param domain The domain of the callback + * @param cbid The ID of the callback + * @param cbdata Data passed to the callback. + */ +@Convention("CUPTIAPI") @Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_CallbackFunc extends FunctionPointer { + static { Loader.load(); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_CallbackFunc(Pointer p) { super(p); } + protected CUpti_CallbackFunc() { allocate(); } + private native void allocate(); + public native void call( + Pointer userdata, + @Cast("CUpti_CallbackDomain") int domain, + @Cast("CUpti_CallbackId") int cbid, + @Const Pointer cbdata); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_EventGroup.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_EventGroup.java new file mode 100644 index 00000000000..e1bbacbed15 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_EventGroup.java @@ -0,0 +1,29 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief A group of events. + * + * An event group is a collection of events that are managed + * together. All events in an event group must belong to the same + * domain. + */ +@Namespace @Name("void") @Opaque @Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_EventGroup extends Pointer { + /** Empty constructor. Calls {@code super((Pointer)null)}. */ + public CUpti_EventGroup() { super((Pointer)null); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_EventGroup(Pointer p) { super(p); } +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_EventGroupSet.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_EventGroupSet.java new file mode 100644 index 00000000000..ec051da45df --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_EventGroupSet.java @@ -0,0 +1,52 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + + +/** + * \brief A set of event groups. + * + * A set of event groups. When returned by \ref + * cuptiEventGroupSetsCreate and \ref cuptiMetricCreateEventGroupSets + * a set indicates that event groups that can be enabled at the same + * time (i.e. all the events in the set can be collected + * simultaneously). + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_EventGroupSet extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_EventGroupSet() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_EventGroupSet(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_EventGroupSet(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_EventGroupSet position(long position) { + return (CUpti_EventGroupSet)super.position(position); + } + @Override public CUpti_EventGroupSet getPointer(long i) { + return new CUpti_EventGroupSet((Pointer)this).offsetAddress(i); + } + + /** + * The number of event groups in the set. + */ + public native @Cast("uint32_t") int numEventGroups(); public native CUpti_EventGroupSet numEventGroups(int setter); + /** + * An array of \p numEventGroups event groups. + */ + public native @ByPtrPtr CUpti_EventGroup eventGroups(); public native CUpti_EventGroupSet eventGroups(CUpti_EventGroup setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_EventGroupSets.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_EventGroupSets.java new file mode 100644 index 00000000000..f94b6aca65b --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_EventGroupSets.java @@ -0,0 +1,51 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief A set of event group sets. + * + * A set of event group sets. When returned by \ref + * cuptiEventGroupSetsCreate and \ref cuptiMetricCreateEventGroupSets + * a CUpti_EventGroupSets indicates the number of passes required to + * collect all the events, and the event groups that should be + * collected during each pass. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_EventGroupSets extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_EventGroupSets() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_EventGroupSets(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_EventGroupSets(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_EventGroupSets position(long position) { + return (CUpti_EventGroupSets)super.position(position); + } + @Override public CUpti_EventGroupSets getPointer(long i) { + return new CUpti_EventGroupSets((Pointer)this).offsetAddress(i); + } + + /** + * Number of event group sets. + */ + public native @Cast("uint32_t") int numSets(); public native CUpti_EventGroupSets numSets(int setter); + /** + * An array of \p numSets event group sets. + */ + public native CUpti_EventGroupSet sets(); public native CUpti_EventGroupSets sets(CUpti_EventGroupSet setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_GraphData.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_GraphData.java new file mode 100644 index 00000000000..7ad2b5e5c1f --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_GraphData.java @@ -0,0 +1,74 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief CUDA graphs data passed into a resource callback function. + * + * CUDA graphs data passed into a resource callback function as the \p cbdata + * argument to \ref CUpti_CallbackFunc. The \p cbdata will be this + * type for \p domain equal to CUPTI_CB_DOMAIN_RESOURCE. The graph + * data is valid only within the invocation of the callback function + * that is passed the data. If you need to retain some data for use + * outside of the callback, you must make a copy of that data. + */ + +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_GraphData extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_GraphData() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_GraphData(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_GraphData(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_GraphData position(long position) { + return (CUpti_GraphData)super.position(position); + } + @Override public CUpti_GraphData getPointer(long i) { + return new CUpti_GraphData((Pointer)this).offsetAddress(i); + } + + /** + * CUDA graph + */ + public native CUgraph_st graph(); public native CUpti_GraphData graph(CUgraph_st setter); + /** + * The original CUDA graph from which @param graph is cloned + */ + public native CUgraph_st originalGraph(); public native CUpti_GraphData originalGraph(CUgraph_st setter); + /** + * CUDA graph node + */ + public native CUgraphNode_st node(); public native CUpti_GraphData node(CUgraphNode_st setter); + /** + * The original CUDA graph node from which @param node is cloned + */ + public native CUgraphNode_st originalNode(); public native CUpti_GraphData originalNode(CUgraphNode_st setter); + /** + * Type of the @param node + */ + public native @Cast("CUgraphNodeType") int nodeType(); public native CUpti_GraphData nodeType(int setter); + /** + * The dependent graph node + * The size of the array is @param numDependencies. + */ + public native CUgraphNode_st dependency(); public native CUpti_GraphData dependency(CUgraphNode_st setter); + /** + * CUDA executable graph + */ + public native CUgraphExec_st graphExec(); public native CUpti_GraphData graphExec(CUgraphExec_st setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_KernelReplayUpdateFunc.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_KernelReplayUpdateFunc.java new file mode 100644 index 00000000000..2c5fcdfef46 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_KernelReplayUpdateFunc.java @@ -0,0 +1,34 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief Function type for getting updates on kernel replay. + * + * @param kernelName The mangled kernel name + * @param numReplaysDone Number of replays done so far + * @param customData Pointer of any custom data passed in when subscribing + */ +@Convention("CUPTIAPI") @Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_KernelReplayUpdateFunc extends FunctionPointer { + static { Loader.load(); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_KernelReplayUpdateFunc(Pointer p) { super(p); } + protected CUpti_KernelReplayUpdateFunc() { allocate(); } + private native void allocate(); + public native void call( + @Cast("const char*") BytePointer kernelName, + int numReplaysDone, + Pointer customData); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_MetricValue.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_MetricValue.java new file mode 100644 index 00000000000..d52d73b7acd --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_MetricValue.java @@ -0,0 +1,68 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief A metric value. + * + * Metric values can be one of several different kinds. Corresponding + * to each kind is a member of the CUpti_MetricValue union. The metric + * value returned by \ref cuptiMetricGetValue should be accessed using + * the appropriate member of that union based on its value kind. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_MetricValue extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_MetricValue() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_MetricValue(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_MetricValue(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_MetricValue position(long position) { + return (CUpti_MetricValue)super.position(position); + } + @Override public CUpti_MetricValue getPointer(long i) { + return new CUpti_MetricValue((Pointer)this).offsetAddress(i); + } + + /* + * Value for CUPTI_METRIC_VALUE_KIND_DOUBLE. + */ + public native double metricValueDouble(); public native CUpti_MetricValue metricValueDouble(double setter); + /* + * Value for CUPTI_METRIC_VALUE_KIND_UINT64. + */ + public native @Cast("uint64_t") long metricValueUint64(); public native CUpti_MetricValue metricValueUint64(long setter); + /* + * Value for CUPTI_METRIC_VALUE_KIND_INT64. + */ + public native @Cast("int64_t") long metricValueInt64(); public native CUpti_MetricValue metricValueInt64(long setter); + /* + * Value for CUPTI_METRIC_VALUE_KIND_PERCENT. For example, 57.5% is + * represented by the value 57.5. + */ + public native double metricValuePercent(); public native CUpti_MetricValue metricValuePercent(double setter); + /* + * Value for CUPTI_METRIC_VALUE_KIND_THROUGHPUT. The unit for + * throughput values is bytes/second. + */ + public native @Cast("uint64_t") long metricValueThroughput(); public native CUpti_MetricValue metricValueThroughput(long setter); + /* + * Value for CUPTI_METRIC_VALUE_KIND_UTILIZATION_LEVEL. + */ + public native @Cast("CUpti_MetricValueUtilizationLevel") int metricValueUtilizationLevel(); public native CUpti_MetricValue metricValueUtilizationLevel(int setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ModuleResourceData.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ModuleResourceData.java new file mode 100644 index 00000000000..c77ab172fe2 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ModuleResourceData.java @@ -0,0 +1,60 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + + +/** + * \brief Module data passed into a resource callback function. + * + * CUDA module data passed into a resource callback function as the \p cbdata + * argument to \ref CUpti_CallbackFunc. The \p cbdata will be this + * type for \p domain equal to CUPTI_CB_DOMAIN_RESOURCE. The module + * data is valid only within the invocation of the callback function + * that is passed the data. If you need to retain some data for use + * outside of the callback, you must make a copy of that data. + */ + +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ModuleResourceData extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ModuleResourceData() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ModuleResourceData(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ModuleResourceData(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ModuleResourceData position(long position) { + return (CUpti_ModuleResourceData)super.position(position); + } + @Override public CUpti_ModuleResourceData getPointer(long i) { + return new CUpti_ModuleResourceData((Pointer)this).offsetAddress(i); + } + + /** + * Identifier to associate with the CUDA module. + */ + public native @Cast("uint32_t") int moduleId(); public native CUpti_ModuleResourceData moduleId(int setter); + + /** + * The size of the cubin. + */ + public native @Cast("size_t") long cubinSize(); public native CUpti_ModuleResourceData cubinSize(long setter); + + /** + * Pointer to the associated cubin. + */ + public native @Cast("const char*") BytePointer pCubin(); public native CUpti_ModuleResourceData pCubin(BytePointer setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_NvtxData.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_NvtxData.java new file mode 100644 index 00000000000..c0169723539 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_NvtxData.java @@ -0,0 +1,63 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief Data passed into a NVTX callback function. + * + * Data passed into a NVTX callback function as the \p cbdata argument + * to \ref CUpti_CallbackFunc. The \p cbdata will be this type for \p + * domain equal to CUPTI_CB_DOMAIN_NVTX. Unless otherwise notes, the + * callback data is valid only within the invocation of the callback + * function that is passed the data. If you need to retain some data + * for use outside of the callback, you must make a copy of that data. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_NvtxData extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_NvtxData() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_NvtxData(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_NvtxData(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_NvtxData position(long position) { + return (CUpti_NvtxData)super.position(position); + } + @Override public CUpti_NvtxData getPointer(long i) { + return new CUpti_NvtxData((Pointer)this).offsetAddress(i); + } + + /** + * Name of the NVTX API function which issued the callback. This + * string is a global constant and so may be accessed outside of the + * callback. + */ + public native @Cast("const char*") BytePointer functionName(); public native CUpti_NvtxData functionName(BytePointer setter); + + /** + * Pointer to the arguments passed to the NVTX API call. See + * generated_nvtx_meta.h for structure definitions for the + * parameters for each NVTX API function. + */ + public native @Const Pointer functionParams(); public native CUpti_NvtxData functionParams(Pointer setter); + + /** + * Pointer to the return value of the NVTX API call. See + * nvToolsExt.h for each NVTX API function's return value. + */ + public native @Const Pointer functionReturnValue(); public native CUpti_NvtxData functionReturnValue(Pointer setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ResourceData.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ResourceData.java new file mode 100644 index 00000000000..e3530855a6f --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_ResourceData.java @@ -0,0 +1,64 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief Data passed into a resource callback function. + * + * Data passed into a resource callback function as the \p cbdata + * argument to \ref CUpti_CallbackFunc. The \p cbdata will be this + * type for \p domain equal to CUPTI_CB_DOMAIN_RESOURCE. The callback + * data is valid only within the invocation of the callback function + * that is passed the data. If you need to retain some data for use + * outside of the callback, you must make a copy of that data. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_ResourceData extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_ResourceData() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_ResourceData(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_ResourceData(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_ResourceData position(long position) { + return (CUpti_ResourceData)super.position(position); + } + @Override public CUpti_ResourceData getPointer(long i) { + return new CUpti_ResourceData((Pointer)this).offsetAddress(i); + } + + /** + * For CUPTI_CBID_RESOURCE_CONTEXT_CREATED and + * CUPTI_CBID_RESOURCE_CONTEXT_DESTROY_STARTING, the context being + * created or destroyed. For CUPTI_CBID_RESOURCE_STREAM_CREATED and + * CUPTI_CBID_RESOURCE_STREAM_DESTROY_STARTING, the context + * containing the stream being created or destroyed. + */ + public native CUctx_st context(); public native CUpti_ResourceData context(CUctx_st setter); + + /** + * For CUPTI_CBID_RESOURCE_STREAM_CREATED and + * CUPTI_CBID_RESOURCE_STREAM_DESTROY_STARTING, the stream being + * created or destroyed. + */ + @Name("resourceHandle.stream") public native CUstream_st resourceHandle_stream(); public native CUpti_ResourceData resourceHandle_stream(CUstream_st setter); + + /** + * Reserved for future use. + */ + public native Pointer resourceDescriptor(); public native CUpti_ResourceData resourceDescriptor(Pointer setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_StateData.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_StateData.java new file mode 100644 index 00000000000..f12f81e8535 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_StateData.java @@ -0,0 +1,56 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief Data passed into a State callback function. + * + * Data passed into a State callback function as the \p cbdata argument + * to \ref CUpti_CallbackFunc. The \p cbdata will be this type for \p + * domain equal to CUPTI_CB_DOMAIN_STATE and callback Ids belonging to CUpti_CallbackIdState. + * Unless otherwise noted, the callback data is valid only within the invocation of the callback + * function that is passed the data. If you need to retain some data + * for use outside of the callback, you must make a copy of that data. + */ +@Properties(inherit = org.bytedeco.cuda.presets.cupti.class) +public class CUpti_StateData extends Pointer { + static { Loader.load(); } + /** Default native constructor. */ + public CUpti_StateData() { super((Pointer)null); allocate(); } + /** Native array allocator. Access with {@link Pointer#position(long)}. */ + public CUpti_StateData(long size) { super((Pointer)null); allocateArray(size); } + /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ + public CUpti_StateData(Pointer p) { super(p); } + private native void allocate(); + private native void allocateArray(long size); + @Override public CUpti_StateData position(long position) { + return (CUpti_StateData)super.position(position); + } + @Override public CUpti_StateData getPointer(long i) { + return new CUpti_StateData((Pointer)this).offsetAddress(i); + } + + /** + * Data passed along with the callback Ids + * Enum CUpti_CallbackIdState used to denote callback ids + */ + /** + * Error code + */ + @Name("notification.result") public native @Cast("CUptiResult") int notification_result(); public native CUpti_StateData notification_result(int setter); + /** + * String containing more details. It can be NULL. + */ + @Name("notification.message") public native @Cast("const char*") BytePointer notification_message(); public native CUpti_StateData notification_message(BytePointer setter); +} diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_StreamAttrData.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_StreamAttrData.java new file mode 100644 index 00000000000..5a569d8cce1 --- /dev/null +++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_StreamAttrData.java @@ -0,0 +1,59 @@ +// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE + +package org.bytedeco.cuda.cupti; + +import java.nio.*; +import org.bytedeco.javacpp.*; +import org.bytedeco.javacpp.annotation.*; + +import static org.bytedeco.javacpp.presets.javacpp.*; +import org.bytedeco.cuda.cudart.*; +import static org.bytedeco.cuda.global.cudart.*; + +import static org.bytedeco.cuda.global.cupti.*; + + +/** + * \brief Stream attribute data passed into a resource callback function + * for CUPTI_CBID_RESOURCE_STREAM_ATTRIBUTE_CHANGED callback +
+ * Data passed into a resource callback function as the \p cbdata
+ * argument to \ref CUpti_CallbackFunc. The \p cbdata will be this
+ * type for \p domain equal to CUPTI_CB_DOMAIN_RESOURCE. The
+ * stream attribute data is valid only within the invocation of the callback
+ * function that is passed the data. If you need to retain some data
+ * for use outside of the callback, you must make a copy of that data.
+ */
+@Properties(inherit = org.bytedeco.cuda.presets.cupti.class)
+public class CUpti_StreamAttrData extends Pointer {
+ static { Loader.load(); }
+ /** Default native constructor. */
+ public CUpti_StreamAttrData() { super((Pointer)null); allocate(); }
+ /** Native array allocator. Access with {@link Pointer#position(long)}. */
+ public CUpti_StreamAttrData(long size) { super((Pointer)null); allocateArray(size); }
+ /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
+ public CUpti_StreamAttrData(Pointer p) { super(p); }
+ private native void allocate();
+ private native void allocateArray(long size);
+ @Override public CUpti_StreamAttrData position(long position) {
+ return (CUpti_StreamAttrData)super.position(position);
+ }
+ @Override public CUpti_StreamAttrData getPointer(long i) {
+ return new CUpti_StreamAttrData((Pointer)this).offsetAddress(i);
+ }
+
+ /**
+ * The CUDA stream handle for the attribute
+ */
+ public native CUstream_st stream(); public native CUpti_StreamAttrData stream(CUstream_st setter);
+
+ /**
+ * The type of the CUDA stream attribute
+ */
+ public native @Cast("CUstreamAttrID") int attr(); public native CUpti_StreamAttrData attr(int setter);
+
+ /**
+ * The value of the CUDA stream attribute
+ */
+ public native @Cast("const CUstreamAttrValue*") CUlaunchAttributeValue value(); public native CUpti_StreamAttrData value(CUlaunchAttributeValue setter);
+}
diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_Subscriber_st.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_Subscriber_st.java
new file mode 100644
index 00000000000..71ac9882cfb
--- /dev/null
+++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_Subscriber_st.java
@@ -0,0 +1,25 @@
+// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE
+
+package org.bytedeco.cuda.cupti;
+
+import java.nio.*;
+import org.bytedeco.javacpp.*;
+import org.bytedeco.javacpp.annotation.*;
+
+import static org.bytedeco.javacpp.presets.javacpp.*;
+import org.bytedeco.cuda.cudart.*;
+import static org.bytedeco.cuda.global.cudart.*;
+
+import static org.bytedeco.cuda.global.cupti.*;
+
+
+/**
+ * \brief A callback subscriber.
+ */
+@Opaque @Properties(inherit = org.bytedeco.cuda.presets.cupti.class)
+public class CUpti_Subscriber_st extends Pointer {
+ /** Empty constructor. Calls {@code super((Pointer)null)}. */
+ public CUpti_Subscriber_st() { super((Pointer)null); }
+ /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
+ public CUpti_Subscriber_st(Pointer p) { super(p); }
+}
diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_SynchronizeData.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_SynchronizeData.java
new file mode 100644
index 00000000000..d84423d1487
--- /dev/null
+++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_SynchronizeData.java
@@ -0,0 +1,52 @@
+// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE
+
+package org.bytedeco.cuda.cupti;
+
+import java.nio.*;
+import org.bytedeco.javacpp.*;
+import org.bytedeco.javacpp.annotation.*;
+
+import static org.bytedeco.javacpp.presets.javacpp.*;
+import org.bytedeco.cuda.cudart.*;
+import static org.bytedeco.cuda.global.cudart.*;
+
+import static org.bytedeco.cuda.global.cupti.*;
+
+
+/**
+ * \brief Data passed into a synchronize callback function.
+ *
+ * Data passed into a synchronize callback function as the \p cbdata
+ * argument to \ref CUpti_CallbackFunc. The \p cbdata will be this
+ * type for \p domain equal to CUPTI_CB_DOMAIN_SYNCHRONIZE. The
+ * callback data is valid only within the invocation of the callback
+ * function that is passed the data. If you need to retain some data
+ * for use outside of the callback, you must make a copy of that data.
+ */
+@Properties(inherit = org.bytedeco.cuda.presets.cupti.class)
+public class CUpti_SynchronizeData extends Pointer {
+ static { Loader.load(); }
+ /** Default native constructor. */
+ public CUpti_SynchronizeData() { super((Pointer)null); allocate(); }
+ /** Native array allocator. Access with {@link Pointer#position(long)}. */
+ public CUpti_SynchronizeData(long size) { super((Pointer)null); allocateArray(size); }
+ /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
+ public CUpti_SynchronizeData(Pointer p) { super(p); }
+ private native void allocate();
+ private native void allocateArray(long size);
+ @Override public CUpti_SynchronizeData position(long position) {
+ return (CUpti_SynchronizeData)super.position(position);
+ }
+ @Override public CUpti_SynchronizeData getPointer(long i) {
+ return new CUpti_SynchronizeData((Pointer)this).offsetAddress(i);
+ }
+
+ /**
+ * The context of the stream being synchronized.
+ */
+ public native CUctx_st context(); public native CUpti_SynchronizeData context(CUctx_st setter);
+ /**
+ * The stream being synchronized.
+ */
+ public native CUstream_st stream(); public native CUpti_SynchronizeData stream(CUstream_st setter);
+}
diff --git a/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_TimestampCallbackFunc.java b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_TimestampCallbackFunc.java
new file mode 100644
index 00000000000..005560afd89
--- /dev/null
+++ b/cuda/src/gen/java/org/bytedeco/cuda/cupti/CUpti_TimestampCallbackFunc.java
@@ -0,0 +1,36 @@
+// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE
+
+package org.bytedeco.cuda.cupti;
+
+import java.nio.*;
+import org.bytedeco.javacpp.*;
+import org.bytedeco.javacpp.annotation.*;
+
+import static org.bytedeco.javacpp.presets.javacpp.*;
+import org.bytedeco.cuda.cudart.*;
+import static org.bytedeco.cuda.global.cudart.*;
+
+import static org.bytedeco.cuda.global.cupti.*;
+
+
+/**
+ * \brief Function type for callback used by CUPTI to request a timestamp
+ * to be used in activity records.
+ *
+ * This callback function signals the CUPTI client that a timestamp needs
+ * to be returned. This timestamp would be treated as normalized timestamp
+ * to be used for various purposes in CUPTI. For example to store start and
+ * end timestamps reported in the CUPTI activity records.
+ * The returned timestamp must be in nanoseconds.
+ *
+ * @see ::cuptiActivityRegisterTimestampCallback
+ */
+@Convention("CUPTIAPI") @Properties(inherit = org.bytedeco.cuda.presets.cupti.class)
+public class CUpti_TimestampCallbackFunc extends FunctionPointer {
+ static { Loader.load(); }
+ /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
+ public CUpti_TimestampCallbackFunc(Pointer p) { super(p); }
+ protected CUpti_TimestampCallbackFunc() { allocate(); }
+ private native void allocate();
+ public native @Cast("uint64_t") long call();
+}
diff --git a/cuda/src/gen/java/org/bytedeco/cuda/global/cupti.java b/cuda/src/gen/java/org/bytedeco/cuda/global/cupti.java
new file mode 100644
index 00000000000..5e744d43514
--- /dev/null
+++ b/cuda/src/gen/java/org/bytedeco/cuda/global/cupti.java
@@ -0,0 +1,8245 @@
+// Targeted by JavaCPP version 1.5.11-SNAPSHOT: DO NOT EDIT THIS FILE
+
+package org.bytedeco.cuda.global;
+
+import org.bytedeco.cuda.cupti.*;
+
+import java.nio.*;
+import org.bytedeco.javacpp.*;
+import org.bytedeco.javacpp.annotation.*;
+
+import static org.bytedeco.javacpp.presets.javacpp.*;
+import org.bytedeco.cuda.cudart.*;
+import static org.bytedeco.cuda.global.cudart.*;
+
+public class cupti extends org.bytedeco.cuda.presets.cupti {
+ static { Loader.load(); }
+
+// Parsed from cupti_result.h
+
+/*
+ * Copyright 2010-2021 NVIDIA Corporation. All rights reserved.
+ *
+ * NOTICE TO LICENSEE:
+ *
+ * This source code and/or documentation ("Licensed Deliverables") are
+ * subject to NVIDIA intellectual property rights under U.S. and
+ * international Copyright laws.
+ *
+ * These Licensed Deliverables contained herein is PROPRIETARY and
+ * CONFIDENTIAL to NVIDIA and is being provided under the terms and
+ * conditions of a form of NVIDIA software license agreement by and
+ * between NVIDIA and Licensee ("License Agreement") or electronically
+ * accepted by Licensee. Notwithstanding any terms or conditions to
+ * the contrary in the License Agreement, reproduction or disclosure
+ * of the Licensed Deliverables to any third party without the express
+ * written consent of NVIDIA is prohibited.
+ *
+ * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
+ * LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE
+ * SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE. IT IS
+ * PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.
+ * NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED
+ * DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
+ * NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
+ * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
+ * LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
+ * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THESE LICENSED DELIVERABLES.
+ *
+ * U.S. Government End Users. These Licensed Deliverables are a
+ * "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT
+ * 1995), consisting of "commercial computer software" and "commercial
+ * computer software documentation" as such terms are used in 48
+ * C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government
+ * only as a commercial end item. Consistent with 48 C.F.R.12.212 and
+ * 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all
+ * U.S. Government End Users acquire the Licensed Deliverables with
+ * only those rights set forth herein.
+ *
+ * Any use of the Licensed Deliverables in individual and commercial
+ * software must include, in the user documentation and internal
+ * comments to the code, the above Disclaimer and U.S. Government End
+ * Users Notice.
+ */
+
+// #if !defined(_CUPTI_RESULT_H_)
+// #define _CUPTI_RESULT_H_
+
+// #ifndef CUPTIAPI
+// #ifdef _WIN32
+// #define CUPTIAPI __stdcall
+// #else
+// #define CUPTIAPI
+// #endif
+// #endif
+
+// #if defined(__cplusplus)
+// #endif
+
+// #if defined(__GNUC__) && defined(CUPTI_LIB)
+// #pragma GCC visibility push(default)
+// #endif
+
+/**
+ * \defgroup CUPTI_RESULT_API CUPTI Result Codes
+ * Error and result codes returned by CUPTI functions.
+ * \{
+ */
+
+/**
+ * \brief CUPTI result codes.
+ *
+ * Error and result codes returned by CUPTI functions.
+ */
+/** enum CUptiResult */
+public static final int
+ /**
+ * No error.
+ */
+ CUPTI_SUCCESS = 0,
+ /**
+ * One or more of the parameters is invalid.
+ */
+ CUPTI_ERROR_INVALID_PARAMETER = 1,
+ /**
+ * The device does not correspond to a valid CUDA device.
+ */
+ CUPTI_ERROR_INVALID_DEVICE = 2,
+ /**
+ * The context is NULL or not valid.
+ */
+ CUPTI_ERROR_INVALID_CONTEXT = 3,
+ /**
+ * The event domain id is invalid.
+ */
+ CUPTI_ERROR_INVALID_EVENT_DOMAIN_ID = 4,
+ /**
+ * The event id is invalid.
+ */
+ CUPTI_ERROR_INVALID_EVENT_ID = 5,
+ /**
+ * The event name is invalid.
+ */
+ CUPTI_ERROR_INVALID_EVENT_NAME = 6,
+ /**
+ * The current operation cannot be performed due to dependency on
+ * other factors.
+ */
+ CUPTI_ERROR_INVALID_OPERATION = 7,
+ /**
+ * Unable to allocate enough memory to perform the requested
+ * operation.
+ */
+ CUPTI_ERROR_OUT_OF_MEMORY = 8,
+ /**
+ * An error occurred on the performance monitoring hardware.
+ */
+ CUPTI_ERROR_HARDWARE = 9,
+ /**
+ * The output buffer size is not sufficient to return all
+ * requested data.
+ */
+ CUPTI_ERROR_PARAMETER_SIZE_NOT_SUFFICIENT = 10,
+ /**
+ * API is not implemented.
+ */
+ CUPTI_ERROR_API_NOT_IMPLEMENTED = 11,
+ /**
+ * The maximum limit is reached.
+ */
+ CUPTI_ERROR_MAX_LIMIT_REACHED = 12,
+ /**
+ * The object is not yet ready to perform the requested operation.
+ */
+ CUPTI_ERROR_NOT_READY = 13,
+ /**
+ * The current operation is not compatible with the current state
+ * of the object
+ */
+ CUPTI_ERROR_NOT_COMPATIBLE = 14,
+ /**
+ * CUPTI is unable to initialize its connection to the CUDA
+ * driver.
+ */
+ CUPTI_ERROR_NOT_INITIALIZED = 15,
+ /**
+ * The metric id is invalid.
+ */
+ CUPTI_ERROR_INVALID_METRIC_ID = 16,
+ /**
+ * The metric name is invalid.
+ */
+ CUPTI_ERROR_INVALID_METRIC_NAME = 17,
+ /**
+ * The queue is empty.
+ */
+ CUPTI_ERROR_QUEUE_EMPTY = 18,
+ /**
+ * Invalid handle (internal?).
+ */
+ CUPTI_ERROR_INVALID_HANDLE = 19,
+ /**
+ * Invalid stream.
+ */
+ CUPTI_ERROR_INVALID_STREAM = 20,
+ /**
+ * Invalid kind.
+ */
+ CUPTI_ERROR_INVALID_KIND = 21,
+ /**
+ * Invalid event value.
+ */
+ CUPTI_ERROR_INVALID_EVENT_VALUE = 22,
+ /**
+ * CUPTI is disabled due to conflicts with other enabled profilers
+ */
+ CUPTI_ERROR_DISABLED = 23,
+ /**
+ * Invalid module.
+ */
+ CUPTI_ERROR_INVALID_MODULE = 24,
+ /**
+ * Invalid metric value.
+ */
+ CUPTI_ERROR_INVALID_METRIC_VALUE = 25,
+ /**
+ * The performance monitoring hardware is in use by other client.
+ */
+ CUPTI_ERROR_HARDWARE_BUSY = 26,
+ /**
+ * The attempted operation is not supported on the current
+ * system or device.
+ */
+ CUPTI_ERROR_NOT_SUPPORTED = 27,
+ /**
+ * Unified memory profiling is not supported on the system.
+ * Potential reason could be unsupported OS or architecture.
+ */
+ CUPTI_ERROR_UM_PROFILING_NOT_SUPPORTED = 28,
+ /**
+ * Unified memory profiling is not supported on the device
+ */
+ CUPTI_ERROR_UM_PROFILING_NOT_SUPPORTED_ON_DEVICE = 29,
+ /**
+ * Unified memory profiling is not supported on a multi-GPU
+ * configuration without P2P support between any pair of devices
+ */
+ CUPTI_ERROR_UM_PROFILING_NOT_SUPPORTED_ON_NON_P2P_DEVICES = 30,
+ /**
+ * Unified memory profiling is not supported under the
+ * Multi-Process Service (MPS) environment. CUDA 7.5 removes this
+ * restriction.
+ */
+ CUPTI_ERROR_UM_PROFILING_NOT_SUPPORTED_WITH_MPS = 31,
+ /**
+ * In CUDA 9.0, devices with compute capability 7.0 don't
+ * support CDP tracing
+ */
+ CUPTI_ERROR_CDP_TRACING_NOT_SUPPORTED = 32,
+ /**
+ * Profiling on virtualized GPU is not supported.
+ */
+ CUPTI_ERROR_VIRTUALIZED_DEVICE_NOT_SUPPORTED = 33,
+ /**
+ * Profiling results might be incorrect for CUDA applications
+ * compiled with nvcc version older than 9.0 for devices with
+ * compute capability 6.0 and 6.1.
+ * Profiling session will continue and CUPTI will notify it using this error code.
+ * User is advised to recompile the application code with nvcc version 9.0 or later.
+ * Ignore this warning if code is already compiled with the recommended nvcc version.
+ */
+ CUPTI_ERROR_CUDA_COMPILER_NOT_COMPATIBLE = 34,
+ /**
+ * User doesn't have sufficient privileges which are required to
+ * start the profiling session.
+ * One possible reason for this may be that the NVIDIA driver or your system
+ * administrator may have restricted access to the NVIDIA GPU performance counters.
+ * To learn how to resolve this issue and find more information, please visit
+ * https://developer.nvidia.com/CUPTI_ERROR_INSUFFICIENT_PRIVILEGES
+ */
+ CUPTI_ERROR_INSUFFICIENT_PRIVILEGES = 35,
+ /**
+ * Legacy CUPTI Profiling API i.e. event API from the header cupti_events.h and
+ * metric API from the header cupti_metrics.h are not compatible with the
+ * Profiling API in the header cupti_profiler_target.h and Perfworks metrics API
+ * in the headers nvperf_host.h and nvperf_target.h.
+ */
+ CUPTI_ERROR_OLD_PROFILER_API_INITIALIZED = 36,
+ /**
+ * Missing definition of the OpenACC API routine in the linked OpenACC library.
+ *
+ * One possible reason is that OpenACC library is linked statically in the
+ * user application, which might not have the definition of all the OpenACC
+ * API routines needed for the OpenACC profiling, as compiler might ignore
+ * definitions for the functions not used in the application. This issue
+ * can be mitigated by linking the OpenACC library dynamically.
+ */
+ CUPTI_ERROR_OPENACC_UNDEFINED_ROUTINE = 37,
+ /**
+ * Legacy CUPTI Profiling API i.e. event API from the header cupti_events.h and
+ * metric API from the header cupti_metrics.h are not supported on devices with
+ * compute capability 7.5 and higher (i.e. Turing and later GPU architectures).
+ * These API will be deprecated in a future CUDA release. These are replaced by
+ * Profiling API in the header cupti_profiler_target.h and Perfworks metrics API
+ * in the headers nvperf_host.h and nvperf_target.h.
+ */
+ CUPTI_ERROR_LEGACY_PROFILER_NOT_SUPPORTED = 38,
+ /**
+ * CUPTI doesn't allow multiple callback subscribers. Only a single subscriber
+ * can be registered at a time.
+ * Same error code is used when application is launched using NVIDIA tools
+ * like nvprof, Visual Profiler, Nsight Systems, Nsight Compute, cuda-gdb and
+ * cuda-memcheck.
+ */
+ CUPTI_ERROR_MULTIPLE_SUBSCRIBERS_NOT_SUPPORTED = 39,
+ /**
+ * Profiling on virtualized GPU is not allowed by hypervisor.
+ */
+ CUPTI_ERROR_VIRTUALIZED_DEVICE_INSUFFICIENT_PRIVILEGES = 40,
+ /**
+ * Profiling and tracing are not allowed when confidential computing mode
+ * is enabled.
+ */
+ CUPTI_ERROR_CONFIDENTIAL_COMPUTING_NOT_SUPPORTED = 41,
+ /**
+ * CUPTI does not support NVIDIA Crypto Mining Processors (CMP).
+ * For more information, please visit https://developer.nvidia.com/ERR_NVCMPGPU
+ */
+ CUPTI_ERROR_CMP_DEVICE_NOT_SUPPORTED = 42,
+ /**
+ * An unknown internal error has occurred.
+ */
+ CUPTI_ERROR_UNKNOWN = 999,
+ CUPTI_ERROR_FORCE_INT = 0x7fffffff;
+
+/**
+ * \brief Get the descriptive string for a CUptiResult.
+ *
+ * Return the descriptive string for a CUptiResult in \p *str.
+ * \note \b Thread-safety: this function is thread safe.
+ *
+ * @param result The result to get the string for
+ * @param str Returns the string
+ *
+ * \retval CUPTI_SUCCESS on success
+ * \retval CUPTI_ERROR_INVALID_PARAMETER if \p str is NULL or \p
+ * result is not a valid CUptiResult
+ */
+public static native @Cast("CUptiResult") int cuptiGetResultString(@Cast("CUptiResult") int result, @Cast("const char**") PointerPointer str);
+public static native @Cast("CUptiResult") int cuptiGetResultString(@Cast("CUptiResult") int result, @Cast("const char**") @ByPtrPtr BytePointer str);
+public static native @Cast("CUptiResult") int cuptiGetResultString(@Cast("CUptiResult") int result, @Cast("const char**") @ByPtrPtr ByteBuffer str);
+public static native @Cast("CUptiResult") int cuptiGetResultString(@Cast("CUptiResult") int result, @Cast("const char**") @ByPtrPtr byte[] str);
+
+/**
+ * \brief Get the descriptive message corresponding to error codes returned
+ * by CUPTI.
+ *
+ * Return the descriptive error message for a CUptiResult in \p *str.
+ * \note \b Thread-safety: this function is thread safe.
+ *
+ * @param result The result to get the descriptive error message for
+ * @param str Returns the error message string
+ *
+ * \retval CUPTI_SUCCESS on success
+ * \retval CUPTI_ERROR_INVALID_PARAMETER if \p str is NULL or \p
+ * result is not a valid CUptiResult
+ *
+ */
+
+public static native @Cast("CUptiResult") int cuptiGetErrorMessage(@Cast("CUptiResult") int result, @Cast("const char**") PointerPointer str);
+public static native @Cast("CUptiResult") int cuptiGetErrorMessage(@Cast("CUptiResult") int result, @Cast("const char**") @ByPtrPtr BytePointer str);
+public static native @Cast("CUptiResult") int cuptiGetErrorMessage(@Cast("CUptiResult") int result, @Cast("const char**") @ByPtrPtr ByteBuffer str);
+public static native @Cast("CUptiResult") int cuptiGetErrorMessage(@Cast("CUptiResult") int result, @Cast("const char**") @ByPtrPtr byte[] str);
+
+/** \} */ /* END CUPTI_RESULT_API */
+
+// #if defined(__GNUC__) && defined(CUPTI_LIB)
+// #pragma GCC visibility pop
+// #endif
+
+// #if defined(__cplusplus)
+// #endif
+
+// #endif /*_CUPTI_RESULT_H_*/
+
+
+
+
+// Parsed from cupti_version.h
+
+/*
+ * Copyright 2010-2024 NVIDIA Corporation. All rights reserved.
+ *
+ * NOTICE TO LICENSEE:
+ *
+ * This source code and/or documentation ("Licensed Deliverables") are
+ * subject to NVIDIA intellectual property rights under U.S. and
+ * international Copyright laws.
+ *
+ * These Licensed Deliverables contained herein is PROPRIETARY and
+ * CONFIDENTIAL to NVIDIA and is being provided under the terms and
+ * conditions of a form of NVIDIA software license agreement by and
+ * between NVIDIA and Licensee ("License Agreement") or electronically
+ * accepted by Licensee. Notwithstanding any terms or conditions to
+ * the contrary in the License Agreement, reproduction or disclosure
+ * of the Licensed Deliverables to any third party without the express
+ * written consent of NVIDIA is prohibited.
+ *
+ * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
+ * LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE
+ * SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE. IT IS
+ * PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.
+ * NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED
+ * DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
+ * NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
+ * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
+ * LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
+ * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THESE LICENSED DELIVERABLES.
+ *
+ * U.S. Government End Users. These Licensed Deliverables are a
+ * "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT
+ * 1995), consisting of "commercial computer software" and "commercial
+ * computer software documentation" as such terms are used in 48
+ * C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government
+ * only as a commercial end item. Consistent with 48 C.F.R.12.212 and
+ * 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all
+ * U.S. Government End Users acquire the Licensed Deliverables with
+ * only those rights set forth herein.
+ *
+ * Any use of the Licensed Deliverables in individual and commercial
+ * software must include, in the user documentation and internal
+ * comments to the code, the above Disclaimer and U.S. Government End
+ * Users Notice.
+ */
+
+// #if !defined(_CUPTI_VERSION_H_)
+// #define _CUPTI_VERSION_H_
+
+// #include {@code
+ * CUpti_Activity *record = NULL;
+ * CUptiResult status = CUPTI_SUCCESS;
+ * do {
+ * status = cuptiActivityGetNextRecord(buffer, validSize, &record);
+ * if(status == CUPTI_SUCCESS) {
+ * // Use record here...
+ * }
+ * else if (status == CUPTI_ERROR_MAX_LIMIT_REACHED)
+ * break;
+ * else if (status == CUPTI_ERROR_INVALID_KIND)
+ * break;
+ * else {
+ * goto Error;
+ * }
+ * } while (1);
+ * }
+ *
+ * @param buffer The buffer containing activity records
+ * @param record Inputs the previous record returned by
+ * cuptiActivityGetNextRecord and returns the next activity record
+ * from the buffer. If input value is NULL, returns the first activity
+ * record in the buffer. Records of certain kinds like CUPTI_ACTIVITY_KIND_CONCURRENT_KERNEL
+ * may contain invalid (0) timestamps, indicating that no timing information could
+ * be collected for lack of device memory.
+ * @param validBufferSizeBytes The number of valid bytes in the buffer.
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_NOT_INITIALIZED
+ * \retval CUPTI_ERROR_MAX_LIMIT_REACHED if no more records in the buffer
+ * \retval CUPTI_ERROR_INVALID_PARAMETER if \p buffer is NULL.
+ * \retval CUPTI_ERROR_INVALID_KIND if activity record is either incomplete or invalid
+ */
+public static native @Cast("CUptiResult") int cuptiActivityGetNextRecord(@Cast("uint8_t*") BytePointer buffer, @Cast("size_t") long validBufferSizeBytes,
+ @Cast("CUpti_Activity**") PointerPointer record);
+public static native @Cast("CUptiResult") int cuptiActivityGetNextRecord(@Cast("uint8_t*") BytePointer buffer, @Cast("size_t") long validBufferSizeBytes,
+ @ByPtrPtr CUpti_Activity record);
+public static native @Cast("CUptiResult") int cuptiActivityGetNextRecord(@Cast("uint8_t*") ByteBuffer buffer, @Cast("size_t") long validBufferSizeBytes,
+ @ByPtrPtr CUpti_Activity record);
+public static native @Cast("CUptiResult") int cuptiActivityGetNextRecord(@Cast("uint8_t*") byte[] buffer, @Cast("size_t") long validBufferSizeBytes,
+ @ByPtrPtr CUpti_Activity record);
+// Targeting ../cupti/CUpti_BuffersCallbackRequestFunc.java
+
+
+// Targeting ../cupti/CUpti_BuffersCallbackCompleteFunc.java
+
+
+
+/**
+ * \brief Registers callback functions with CUPTI for activity buffer
+ * handling.
+ *
+ * This function registers two callback functions to be used in asynchronous
+ * buffer handling. If registered, activity record buffers are handled using
+ * asynchronous requested/completed callbacks from CUPTI.
+ *
+ * Registering these callbacks prevents the client from using CUPTI's
+ * blocking enqueue/dequeue functions.
+ *
+ * @param funcBufferRequested callback which is invoked when an empty
+ * buffer is requested by CUPTI
+ * @param funcBufferCompleted callback which is invoked when a buffer
+ * containing activity records is available from CUPTI
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_INVALID_PARAMETER if either \p
+ * funcBufferRequested or \p funcBufferCompleted is NULL
+ */
+public static native @Cast("CUptiResult") int cuptiActivityRegisterCallbacks(CUpti_BuffersCallbackRequestFunc funcBufferRequested,
+ CUpti_BuffersCallbackCompleteFunc funcBufferCompleted);
+
+/**
+ * \brief Wait for all activity records to be delivered via the
+ * completion callback.
+ *
+ * This function does not return until all activity records associated
+ * with the specified context/stream are returned to the CUPTI client
+ * using the callback registered in cuptiActivityRegisterCallbacks. To
+ * ensure that all activity records are complete, the requested
+ * stream(s), if any, are synchronized.
+ *
+ * If \p context is NULL, the global activity records (i.e. those not
+ * associated with a particular stream) are flushed (in this case no
+ * streams are synchronized). If \p context is a valid CUcontext and
+ * \p streamId is 0, the buffers of all streams of this context are
+ * flushed. Otherwise, the buffers of the specified stream in this
+ * context is flushed.
+ *
+ * Before calling this function, the buffer handling callback api
+ * must be activated by calling cuptiActivityRegisterCallbacks.
+ *
+ * @param context A valid CUcontext or NULL.
+ * @param streamId The stream ID.
+ * @param flag The flag can be set to indicate a forced flush. See CUpti_ActivityFlag
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_NOT_INITIALIZED
+ * \retval CUPTI_ERROR_CUPTI_ERROR_INVALID_OPERATION if not preceded
+ * by a successful call to cuptiActivityRegisterCallbacks
+ * \retval CUPTI_ERROR_UNKNOWN an internal error occurred
+ *
+ * **DEPRECATED** This method is deprecated
+ * CONTEXT and STREAMID will be ignored. Use cuptiActivityFlushAll
+ * to flush all data.
+ */
+public static native @Cast("CUptiResult") int cuptiActivityFlush(CUctx_st context, @Cast("uint32_t") int streamId, @Cast("uint32_t") int flag);
+
+/**
+ * \brief Request to deliver activity records via the buffer completion callback.
+ *
+ * This function returns the activity records associated with all contexts/streams
+ * (and the global buffers not associated with any stream) to the CUPTI client
+ * using the callback registered in cuptiActivityRegisterCallbacks.
+ *
+ * This is a blocking call but it doesn't issue any CUDA synchronization calls
+ * implicitly thus it's not guaranteed that all activities are completed on the
+ * underlying devices. Activity record is considered as completed if it has all
+ * the information filled up including the timestamps if any. It is the client's
+ * responsibility to issue necessary CUDA synchronization calls before calling
+ * this function if all activity records with complete information are expected
+ * to be delivered.
+ *
+ * Behavior of the function based on the input flag:
+ * (-) ::For default flush i.e. when flag is set as 0, it returns all the
+ * activity buffers which have all the activity records completed, buffers need not
+ * to be full though. It doesn't return buffers which have one or more incomplete
+ * records. Default flush can be done at a regular interval in a separate thread.
+ * (-) ::For forced flush i.e. when flag CUPTI_ACTIVITY_FLAG_FLUSH_FORCED is passed
+ * to the function, it returns all the activity buffers including the ones which have
+ * one or more incomplete activity records. It's suggested for clients to do the
+ * force flush before the termination of the profiling session to allow remaining
+ * buffers to be delivered. In general, it can be done in the at-exit handler.
+ *
+ * Before calling this function, the buffer handling callback api must be activated
+ * by calling cuptiActivityRegisterCallbacks.
+ *
+ * @param flag The flag can be set to indicate a forced flush. See CUpti_ActivityFlag
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_NOT_INITIALIZED
+ * \retval CUPTI_ERROR_INVALID_OPERATION if not preceded by a
+ * successful call to cuptiActivityRegisterCallbacks
+ * \retval CUPTI_ERROR_UNKNOWN an internal error occurred
+ *
+ * @see cuptiActivityFlushPeriod
+ */
+public static native @Cast("CUptiResult") int cuptiActivityFlushAll(@Cast("uint32_t") int flag);
+
+/**
+ * \brief Read an activity API attribute.
+ *
+ * Read an activity API attribute and return it in \p *value.
+ *
+ * @param attr The attribute to read
+ * @param valueSize Size of buffer pointed by the value, and
+ * returns the number of bytes written to \p value
+ * @param value Returns the value of the attribute
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_NOT_INITIALIZED
+ * \retval CUPTI_ERROR_INVALID_PARAMETER if \p valueSize or \p value is NULL, or
+ * if \p attr is not an activity attribute
+ * \retval CUPTI_ERROR_PARAMETER_SIZE_NOT_SUFFICIENT Indicates that
+ * the \p value buffer is too small to hold the attribute value.
+ */
+public static native @Cast("CUptiResult") int cuptiActivityGetAttribute(@Cast("CUpti_ActivityAttribute") int attr,
+ @Cast("size_t*") SizeTPointer valueSize, Pointer value);
+
+/**
+ * \brief Write an activity API attribute.
+ *
+ * Write an activity API attribute.
+ *
+ * @param attr The attribute to write
+ * @param valueSize The size, in bytes, of the value
+ * @param value The attribute value to write
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_NOT_INITIALIZED
+ * \retval CUPTI_ERROR_INVALID_PARAMETER if \p valueSize or \p value is NULL, or
+ * if \p attr is not an activity attribute
+ * \retval CUPTI_ERROR_PARAMETER_SIZE_NOT_SUFFICIENT Indicates that
+ * the \p value buffer is too small to hold the attribute value.
+ */
+public static native @Cast("CUptiResult") int cuptiActivitySetAttribute(@Cast("CUpti_ActivityAttribute") int attr,
+ @Cast("size_t*") SizeTPointer valueSize, Pointer value);
+
+
+/**
+ * \brief Set Unified Memory Counter configuration.
+ *
+ * @param config A pointer to \ref CUpti_ActivityUnifiedMemoryCounterConfig structures
+ * containing Unified Memory counter configuration.
+ * @param count Number of Unified Memory counter configuration structures
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_NOT_INITIALIZED
+ * \retval CUPTI_ERROR_INVALID_PARAMETER if \p config is NULL or
+ * any parameter in the \p config structures is not a valid value
+ * \retval CUPTI_ERROR_UM_PROFILING_NOT_SUPPORTED One potential reason is that
+ * platform (OS/arch) does not support the unified memory counters
+ * \retval CUPTI_ERROR_UM_PROFILING_NOT_SUPPORTED_ON_DEVICE Indicates that the device
+ * does not support the unified memory counters
+ * \retval CUPTI_ERROR_UM_PROFILING_NOT_SUPPORTED_ON_NON_P2P_DEVICES Indicates that
+ * multi-GPU configuration without P2P support between any pair of devices
+ * does not support the unified memory counters
+ */
+public static native @Cast("CUptiResult") int cuptiActivityConfigureUnifiedMemoryCounter(CUpti_ActivityUnifiedMemoryCounterConfig config, @Cast("uint32_t") int count);
+
+/**
+ * \brief Get auto boost state
+ *
+ * The profiling results can be inconsistent in case auto boost is enabled.
+ * CUPTI tries to disable auto boost while profiling. It can fail to disable in
+ * cases where user does not have the permissions or CUDA_AUTO_BOOST env
+ * variable is set. The function can be used to query whether auto boost is
+ * enabled.
+ *
+ * @param context A valid CUcontext.
+ * @param state A pointer to \ref CUpti_ActivityAutoBoostState structure which
+ * contains the current state and the id of the process that has requested the
+ * current state
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_INVALID_PARAMETER if \p CUcontext or \p state is NULL
+ * \retval CUPTI_ERROR_NOT_SUPPORTED Indicates that the device does not support auto boost
+ * \retval CUPTI_ERROR_UNKNOWN an internal error occurred
+ */
+public static native @Cast("CUptiResult") int cuptiGetAutoBoostState(CUctx_st context, CUpti_ActivityAutoBoostState state);
+
+/**
+ * \brief Set PC sampling configuration.
+ *
+ * For Pascal and older GPU architectures this API must be called before enabling
+ * activity kind CUPTI_ACTIVITY_KIND_PC_SAMPLING. There is no such requirement
+ * for Volta and newer GPU architectures.
+ *
+ * For Volta and newer GPU architectures if this API is called in the middle of
+ * execution, PC sampling configuration will be updated for subsequent kernel launches.
+ *
+ * @param ctx The context
+ * @param config A pointer to \ref CUpti_ActivityPCSamplingConfig structure
+ * containing PC sampling configuration.
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_INVALID_OPERATION if this api is called while
+ * some valid event collection method is set.
+ * \retval CUPTI_ERROR_INVALID_PARAMETER if \p config is NULL or
+ * any parameter in the \p config structures is not a valid value
+ * \retval CUPTI_ERROR_NOT_SUPPORTED Indicates that the system/device
+ * does not support the unified memory counters
+ */
+public static native @Cast("CUptiResult") int cuptiActivityConfigurePCSampling(CUctx_st ctx, CUpti_ActivityPCSamplingConfig config);
+
+/**
+ * \brief Returns the last error from a cupti call or callback
+ *
+ * Returns the last error that has been produced by any of the cupti api calls
+ * or the callback in the same host thread and resets it to CUPTI_SUCCESS.
+ */
+public static native @Cast("CUptiResult") int cuptiGetLastError();
+
+/**
+ * \brief Set the thread-id type
+ *
+ * CUPTI uses the method corresponding to set type to generate the thread-id.
+ * See enum \ref CUpti_ActivityThreadIdType for the list of methods.
+ * Activity records having thread-id field contain the same value.
+ * Thread id type must not be changed during the profiling session to
+ * avoid thread-id value mismatch across activity records.
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_NOT_SUPPORTED if \p type is not supported on the platform
+ */
+public static native @Cast("CUptiResult") int cuptiSetThreadIdType(@Cast("CUpti_ActivityThreadIdType") int type);
+
+/**
+ * \brief Get the thread-id type
+ *
+ * Returns the thread-id type used in CUPTI
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_INVALID_PARAMETER if \p type is NULL
+ */
+public static native @Cast("CUptiResult") int cuptiGetThreadIdType(@Cast("CUpti_ActivityThreadIdType*") IntPointer type);
+public static native @Cast("CUptiResult") int cuptiGetThreadIdType(@Cast("CUpti_ActivityThreadIdType*") IntBuffer type);
+public static native @Cast("CUptiResult") int cuptiGetThreadIdType(@Cast("CUpti_ActivityThreadIdType*") int[] type);
+
+/**
+* \brief Check support for a compute capability
+*
+* This function is used to check the support for a device based on
+* it's compute capability. It sets the \p support when the compute
+* capability is supported by the current version of CUPTI, and clears
+* it otherwise. This version of CUPTI might not support all GPUs sharing
+* the same compute capability. It is suggested to use API \ref
+* cuptiDeviceSupported which provides correct information.
+*
+* @param major The major revision number of the compute capability
+* @param minor The minor revision number of the compute capability
+* @param support Pointer to an integer to return the support status
+*
+* \retval CUPTI_SUCCESS
+* \retval CUPTI_ERROR_INVALID_PARAMETER if \p support is NULL
+*
+* @see ::cuptiDeviceSupported
+*/
+public static native @Cast("CUptiResult") int cuptiComputeCapabilitySupported(int major, int minor, IntPointer support);
+public static native @Cast("CUptiResult") int cuptiComputeCapabilitySupported(int major, int minor, IntBuffer support);
+public static native @Cast("CUptiResult") int cuptiComputeCapabilitySupported(int major, int minor, int[] support);
+
+/**
+* \brief Check support for a compute device
+*
+* This function is used to check the support for a compute device.
+* It sets the \p support when the device is supported by the current
+* version of CUPTI, and clears it otherwise.
+*
+* @param dev The device handle returned by CUDA Driver API cuDeviceGet
+* @param support Pointer to an integer to return the support status
+*
+* \retval CUPTI_SUCCESS
+* \retval CUPTI_ERROR_INVALID_PARAMETER if \p support is NULL
+* \retval CUPTI_ERROR_INVALID_DEVICE if \p dev is not a valid device
+*
+* @see ::cuptiComputeCapabilitySupported
+*/
+public static native @Cast("CUptiResult") int cuptiDeviceSupported(@Cast("CUdevice") int dev, IntPointer support);
+public static native @Cast("CUptiResult") int cuptiDeviceSupported(@Cast("CUdevice") int dev, IntBuffer support);
+public static native @Cast("CUptiResult") int cuptiDeviceSupported(@Cast("CUdevice") int dev, int[] support);
+
+/**
+ * This indicates the virtualization mode in which CUDA device is running
+ */
+/** enum CUpti_DeviceVirtualizationMode */
+public static final int
+ /**
+ * No virtualization mode is associated with the device
+ * i.e. it's a baremetal GPU
+ */
+ CUPTI_DEVICE_VIRTUALIZATION_MODE_NONE = 0,
+ /**
+ * The device is associated with the pass-through GPU.
+ * In this mode, an entire physical GPU is directly assigned
+ * to one virtual machine (VM).
+ */
+ CUPTI_DEVICE_VIRTUALIZATION_MODE_PASS_THROUGH = 1,
+ /**
+ * The device is associated with the virtual GPU (vGPU).
+ * In this mode multiple virtual machines (VMs) have simultaneous,
+ * direct access to a single physical GPU.
+ */
+ CUPTI_DEVICE_VIRTUALIZATION_MODE_VIRTUAL_GPU = 2,
+
+ CUPTI_DEVICE_VIRTUALIZATION_MODE_FORCE_INT = 0x7fffffff;
+
+/**
+ * \brief Query the virtualization mode of the device
+ *
+ * This function is used to query the virtualization mode of the CUDA device.
+ *
+ * @param dev The device handle returned by CUDA Driver API cuDeviceGet
+ * @param mode Pointer to an CUpti_DeviceVirtualizationMode to return the virtualization mode
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_INVALID_DEVICE if \p dev is not a valid device
+ * \retval CUPTI_ERROR_INVALID_PARAMETER if \p mode is NULL
+ *
+ */
+public static native @Cast("CUptiResult") int cuptiDeviceVirtualizationMode(@Cast("CUdevice") int dev, @Cast("CUpti_DeviceVirtualizationMode*") IntPointer mode);
+public static native @Cast("CUptiResult") int cuptiDeviceVirtualizationMode(@Cast("CUdevice") int dev, @Cast("CUpti_DeviceVirtualizationMode*") IntBuffer mode);
+public static native @Cast("CUptiResult") int cuptiDeviceVirtualizationMode(@Cast("CUdevice") int dev, @Cast("CUpti_DeviceVirtualizationMode*") int[] mode);
+
+/**
+ * \brief Detach CUPTI from the running process
+ *
+ * This API detaches the CUPTI from the running process. It destroys and cleans up all the
+ * resources associated with CUPTI in the current process. After CUPTI detaches from the process,
+ * the process will keep on running with no CUPTI attached to it.
+ * For safe operation of the API, it is recommended this API is invoked from the exit callsite
+ * of any of the CUDA Driver or Runtime API. Otherwise CUPTI client needs to make sure that
+ * required CUDA synchronization and CUPTI activity buffer flush is done before calling the API.
+ * Sample code showing the usage of the API in the cupti callback handler code:
+ * {@code
+ void CUPTIAPI
+ cuptiCallbackHandler(void *userdata, CUpti_CallbackDomain domain,
+ CUpti_CallbackId cbid, void *cbdata)
+ {
+ const CUpti_CallbackData *cbInfo = (CUpti_CallbackData *)cbdata;
+
+ // Take this code path when CUPTI detach is requested
+ if (detachCupti) {
+ switch(domain)
+ {
+ case CUPTI_CB_DOMAIN_RUNTIME_API:
+ case CUPTI_CB_DOMAIN_DRIVER_API:
+ if (cbInfo->callbackSite == CUPTI_API_EXIT) {
+ // call the CUPTI detach API
+ cuptiFinalize();
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ }
+ }
+ */
+public static native @Cast("CUptiResult") int cuptiFinalize();
+
+/**
+ * \brief Push an external correlation id for the calling thread
+ *
+ * This function notifies CUPTI that the calling thread is entering an external API region.
+ * When a CUPTI activity API record is created while within an external API region and
+ * CUPTI_ACTIVITY_KIND_EXTERNAL_CORRELATION is enabled, the activity API record will
+ * be preceded by a CUpti_ActivityExternalCorrelation record for each \ref CUpti_ExternalCorrelationKind.
+ *
+ * @param kind The kind of external API activities should be correlated with.
+ * @param id External correlation id.
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_INVALID_PARAMETER The external API kind is invalid
+ */
+public static native @Cast("CUptiResult") int cuptiActivityPushExternalCorrelationId(@Cast("CUpti_ExternalCorrelationKind") int kind, @Cast("uint64_t") long id);
+
+/**
+ * \brief Pop an external correlation id for the calling thread
+ *
+ * This function notifies CUPTI that the calling thread is leaving an external API region.
+ *
+ * @param kind The kind of external API activities should be correlated with.
+ * @param lastId If the function returns successful, contains the last external correlation id for this \p kind, can be NULL.
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_INVALID_PARAMETER The external API kind is invalid.
+ * \retval CUPTI_ERROR_QUEUE_EMPTY No external id is currently associated with \p kind.
+ */
+public static native @Cast("CUptiResult") int cuptiActivityPopExternalCorrelationId(@Cast("CUpti_ExternalCorrelationKind") int kind, @Cast("uint64_t*") LongPointer lastId);
+public static native @Cast("CUptiResult") int cuptiActivityPopExternalCorrelationId(@Cast("CUpti_ExternalCorrelationKind") int kind, @Cast("uint64_t*") LongBuffer lastId);
+public static native @Cast("CUptiResult") int cuptiActivityPopExternalCorrelationId(@Cast("CUpti_ExternalCorrelationKind") int kind, @Cast("uint64_t*") long[] lastId);
+
+/**
+ * \brief Controls the collection of queued and submitted timestamps for kernels.
+ *
+ * This API is used to control the collection of queued and submitted timestamps
+ * for kernels whose records are provided through the struct \ref CUpti_ActivityKernel9.
+ * Default value is 0, i.e. these timestamps are not collected. This API needs
+ * to be called before initialization of CUDA and this setting should not be
+ * changed during the profiling session.
+ *
+ * @param enable is a boolean, denoting whether these timestamps should be
+ * collected
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_NOT_INITIALIZED
+ */
+public static native @Cast("CUptiResult") int cuptiActivityEnableLatencyTimestamps(@Cast("uint8_t") byte enable);
+
+/**
+ * \brief Sets the flush period for the worker thread
+ *
+ * CUPTI creates a worker thread to minimize the perturbance for the application created
+ * threads. CUPTI offloads certain operations from the application threads to the worker
+ * thread, this includes synchronization of profiling resources between host and device,
+ * delivery of the activity buffers to the client using the callback registered in
+ * cuptiActivityRegisterCallbacks. For performance reasons, CUPTI wakes up the worker
+ * thread based on certain heuristics.
+ *
+ * This API is used to control the flush period of the worker thread. This setting will
+ * override the CUPTI heuristics. Setting time to zero disables the periodic flush and
+ * restores the default behavior.
+ *
+ * Periodic flush can return only those activity buffers which are full and have all the
+ * activity records completed.
+ *
+ * It's allowed to use the API \ref cuptiActivityFlushAll to flush the data on-demand, even
+ * when client sets the periodic flush.
+ *
+ * @param time flush period in milliseconds (ms)
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_NOT_INITIALIZED
+ *
+ * @see cuptiActivityFlushAll
+ */
+public static native @Cast("CUptiResult") int cuptiActivityFlushPeriod(@Cast("uint32_t") int time);
+
+/**
+ * \brief Controls the collection of launch attributes for kernels.
+ *
+ * This API is used to control the collection of launch attributes for kernels whose
+ * records are provided through the struct \ref CUpti_ActivityKernel9.
+ * Default value is 0, i.e. these attributes are not collected.
+ *
+ * @param enable is a boolean denoting whether these launch attributes should be collected
+ */
+public static native @Cast("CUptiResult") int cuptiActivityEnableLaunchAttributes(@Cast("uint8_t") byte enable);
+// Targeting ../cupti/CUpti_TimestampCallbackFunc.java
+
+
+
+/**
+ * \brief Registers callback function with CUPTI for providing timestamp.
+ *
+ * This function registers a callback function to obtain timestamp of user's
+ * choice instead of using CUPTI provided timestamp.
+ * By default CUPTI uses different methods, based on the underlying platform,
+ * to retrieve the timestamp
+ * Linux and Android use clock_gettime(CLOCK_REALTIME, ..)
+ * Windows uses QueryPerformanceCounter()
+ * Mac uses mach_absolute_time()
+ * QNX uses ClockCycles()
+ * Timestamps retrieved using these methods are converted to nanosecond if needed
+ * before usage.
+ *
+ * The registration of timestamp callback should be done before any of the CUPTI
+ * activity kinds are enabled to make sure that all the records report the timestamp using
+ * the callback function registered through cuptiActivityRegisterTimestampCallback API.
+ *
+ * Changing the timestamp callback function in CUPTI through
+ * cuptiActivityRegisterTimestampCallback API in the middle of the profiling
+ * session can cause records generated prior to the change to report
+ * timestamps through previous timestamp method.
+ *
+ * @param funcTimestamp callback which is invoked when a timestamp is
+ * needed by CUPTI
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_INVALID_PARAMETER if \p funcTimestamp is NULL
+ * \retval CUPTI_ERROR_NOT_INITIALIZED
+ */
+public static native @Cast("CUptiResult") int cuptiActivityRegisterTimestampCallback(CUpti_TimestampCallbackFunc funcTimestamp);
+
+/**
+ * \brief Controls the collection of records for device launched graphs.
+ *
+ * This API is used to control the collection of records for device launched graphs.
+ * Default value is 0, i.e. these records are not collected. This API needs
+ * to be called before initialization of CUDA and this setting should not be
+ * changed during the profiling session.
+ *
+ * @param enable is a boolean, denoting whether these records should be
+ * collected
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_NOT_INITIALIZED
+ */
+public static native @Cast("CUptiResult") int cuptiActivityEnableDeviceGraph(@Cast("uint8_t") byte enable);
+
+/**
+ * \brief Controls the collection of activity records for specific CUDA Driver APIs.
+ *
+ * Activity kind CUPTI_ACTIVITY_KIND_DRIVER controls the collection of either all
+ * CUDA Driver APIs or none. API cuptiActivityEnableDriverApi can be used for fine-grained
+ * control, it allows enabling/disabling tracing of a specific set of CUDA Driver APIs.
+ * To disable collection of a small set of CUDA Driver APIs, user can
+ * first enable the collection of all Driver APIs using the activity kind
+ * CUPTI_ACTIVITY_KIND_DRIVER and call this API to disable specific Driver APIs.
+ * And to enable the collection of a small set of CUDA Driver APIs, user can
+ * call this API without using the activity kind CUPTI_ACTIVITY_KIND_DRIVER.
+ *
+ * Note: Activity kind CUPTI_ACTIVITY_KIND_DRIVER overrides the settings done by this API
+ * if it is called after the API.
+ *
+ * @param cbid callback id of the CUDA Driver API. This can be found in the header cupti_driver_cbid.h.
+ * @param enable is a boolean, denoting whether to enable or disable the collection
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_NOT_INITIALIZED
+ */
+public static native @Cast("CUptiResult") int cuptiActivityEnableDriverApi(@Cast("CUpti_CallbackId") int cbid, @Cast("uint8_t") byte enable);
+
+/**
+ * \brief Controls the collection of activity records for specific CUDA Runtime APIs.
+ *
+ * Activity kind CUPTI_ACTIVITY_KIND_RUNTIME controls the collection of either all
+ * CUDA Runtime APIs or none. API cuptiActivityEnableRuntimeApi can be used for fine-grained
+ * control, it allows enabling/disabling tracing of a specific set of CUDA Runtime APIs.
+ * To disable collection of a small set of CUDA Runtime APIs, user can
+ * first enable the collection of all Runtime APIs using the activity kind
+ * CUPTI_ACTIVITY_KIND_RUNTIME and call this API to disable specific Runtime APIs.
+ * And to enable the collection of a small set of CUDA Runtime APIs, user can
+ * call this API without using the activity kind CUPTI_ACTIVITY_KIND_RUNTIME.
+ *
+ * Note: Activity kind CUPTI_ACTIVITY_KIND_RUNTIME overrides the settings done by this API
+ * if it is called after the API.
+ *
+ * @param cbid callback id of the CUDA Runtime API. This can be found in the header cupti_runtime_cbid.h.
+ * @param enable is a boolean, denoting whether to enable or disable the collection
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_NOT_INITIALIZED
+ */
+public static native @Cast("CUptiResult") int cuptiActivityEnableRuntimeApi(@Cast("CUpti_CallbackId") int cbid, @Cast("uint8_t") byte enable);
+
+
+
+/**
+ * \brief Enables tracking the source library for memory allocation requests.
+ *
+ * This API is used to control whether or not we track the source library of
+ * memory allocation requests. Default value is 0, i.e. it is not tracked. The
+ * activity kind CUPTI_ACTIVITY_KIND_MEMORY2 needs to be enabled, and if this flag is
+ * set, we get the full path of the shared object responsible for the GPU memory allocation
+ * request in the member source in the CUpti_ActivityMemory4 records. Also note that this feature
+ * adds runtime overhead.
+ *
+ * @param enable is a boolean, denoting whether the source library of the memory allocation
+ * request needs to be tracked
+ *
+ * \retval CUPTI_SUCCESS
+ * \retval CUPTI_ERROR_NOT_INITIALIZED
+*/
+public static native @Cast("CUptiResult") int cuptiActivityEnableAllocationSource(@Cast("uint8_t") byte enable);
+/** \} */ /* END CUPTI_ACTIVITY_API */
+
+// #if defined(__GNUC__) && defined(CUPTI_LIB)
+// #pragma GCC visibility pop
+// #endif
+
+// #if defined(__cplusplus)
+// #endif
+
+// Including deprecated structures of CUPTI_ACTIVITY_API
+// #include "cupti_activity_deprecated.h"
+
+// #endif /*_CUPTI_ACTIVITY_H_*/
+
+
+// Parsed from cupti_callbacks.h
+
+/*
+ * Copyright 2010-2023 NVIDIA Corporation. All rights reserved.
+ *
+ * NOTICE TO LICENSEE:
+ *
+ * This source code and/or documentation ("Licensed Deliverables") are
+ * subject to NVIDIA intellectual property rights under U.S. and
+ * international Copyright laws.
+ *
+ * These Licensed Deliverables contained herein is PROPRIETARY and
+ * CONFIDENTIAL to NVIDIA and is being provided under the terms and
+ * conditions of a form of NVIDIA software license agreement by and
+ * between NVIDIA and Licensee ("License Agreement") or electronically
+ * accepted by Licensee. Notwithstanding any terms or conditions to
+ * the contrary in the License Agreement, reproduction or disclosure
+ * of the Licensed Deliverables to any third party without the express
+ * written consent of NVIDIA is prohibited.
+ *
+ * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
+ * LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE
+ * SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE. IT IS
+ * PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.
+ * NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED
+ * DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
+ * NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
+ * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
+ * LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
+ * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THESE LICENSED DELIVERABLES.
+ *
+ * U.S. Government End Users. These Licensed Deliverables are a
+ * "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT
+ * 1995), consisting of "commercial computer software" and "commercial
+ * computer software documentation" as such terms are used in 48
+ * C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government
+ * only as a commercial end item. Consistent with 48 C.F.R.12.212 and
+ * 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all
+ * U.S. Government End Users acquire the Licensed Deliverables with
+ * only those rights set forth herein.
+ *
+ * Any use of the Licensed Deliverables in individual and commercial
+ * software must include, in the user documentation and internal
+ * comments to the code, the above Disclaimer and U.S. Government End
+ * Users Notice.
+ */
+
+// #if !defined(__CUPTI_CALLBACKS_H__)
+// #define __CUPTI_CALLBACKS_H__
+
+// #include