SWDEV-299127 - Merge 'develop' into 'amd-staging'
Change-Id: I003a1542b8ef30927544bc2f32919c60f53882d4
This commit is contained in:
@@ -862,8 +862,9 @@ Output Constraints are specified by an `"="` prefix as shown above ("=v"). This
|
||||
## C++ Support
|
||||
The following C++ features are not supported:
|
||||
- Run-time-type information (RTTI)
|
||||
- Virtual functions
|
||||
- Try/catch
|
||||
- Virtual functions
|
||||
Virtual functions are not supported if objects containing virtual function tables are passed between GPU's of different offload arch's, e.g. between gfx906 and gfx1030. Otherwise virtual functions are supported.
|
||||
|
||||
## Kernel Compilation
|
||||
hipcc now supports compiling C++/HIP kernels to binary code objects.
|
||||
|
||||
@@ -585,9 +585,15 @@ enum hipLimit_t {
|
||||
/** Event can support IPC. hipEventDisableTiming also must be set.*/
|
||||
#define hipEventInterprocess 0x4
|
||||
|
||||
/** Disable any system scope releases for events. May improve performance.
|
||||
* The flag is a no-op on CUDA platforms.*/
|
||||
#define hipEventDisableReleaseToSystem 0x20000000
|
||||
/** Disable performing a system scope sequentially consistent memory fence when the event
|
||||
* transitions from recording to recorded. This can be used for events that are only being
|
||||
* used to measure timing, and do not require the event inspection operations
|
||||
* (see ::hipEventSynchronize, ::hipEventQuery, and ::hipEventElapsedTime) to synchronize-with
|
||||
* the work on which the recorded event (see ::hipEventRecord) is waiting.
|
||||
* On some AMD GPU devices this can improve the accuracy of timing measurements by avoiding the
|
||||
* cost of cache writeback and invalidation, and the performance impact of those actions on the
|
||||
* execution of following work. */
|
||||
#define hipEventDisableSystemFence 0x20000000
|
||||
|
||||
/** Use a device-scope release when recording this event. This flag is useful to obtain more
|
||||
* precise timings of commands between events. The flag is a no-op on CUDA platforms.*/
|
||||
@@ -2420,7 +2426,7 @@ hipError_t hipStreamWriteValue64(hipStream_t stream, void* ptr, uint64_t value,
|
||||
would not record profiling data and provide best performance if used for synchronization.
|
||||
* #hipEventInterprocess : The event can be used as an interprocess event. hipEventDisableTiming
|
||||
flag also must be set when hipEventInterprocess flag is set.
|
||||
* #hipEventDisableReleaseToSystem : Disable releasing any cached memory to system scope. This may
|
||||
* #hipEventDisableSystemFence : Disable acquire and release system scope fence. This may
|
||||
improve performance but device memory may not be visible to the host and other devices
|
||||
if this flag is set.
|
||||
*
|
||||
@@ -3817,7 +3823,7 @@ hipError_t hipMemsetD32(hipDeviceptr_t dest, int value, size_t count);
|
||||
* @brief Fills the first sizeBytes bytes of the memory area pointed to by dev with the constant
|
||||
* byte value value.
|
||||
*
|
||||
* hipMemsetAsync() is asynchronous with respect to the host, so the call may return before the
|
||||
* hipMemsetAsync() is asynchronous with respect to the host, so the call may return before the
|
||||
* memset is complete. The operation can optionally be associated to a stream by passing a non-zero
|
||||
* stream argument. If stream is non-zero, the operation may overlap with operations in other
|
||||
* streams.
|
||||
@@ -3890,14 +3896,22 @@ hipError_t hipMemset3D(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent
|
||||
hipError_t hipMemset3DAsync(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent ,hipStream_t stream __dparm(0));
|
||||
/**
|
||||
* @brief Query memory info.
|
||||
* Return snapshot of free memory, and total allocatable memory on the device.
|
||||
*
|
||||
* Returns in *free a snapshot of the current free memory.
|
||||
* @returns #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue
|
||||
* @warning On HCC, the free memory only accounts for memory allocated by this process and may be
|
||||
*optimistic.
|
||||
* On ROCM, this function gets the actual free memory left on the current device, so supports
|
||||
* the cases while running multi-workload (such as multiple processes, multiple threads, and
|
||||
* multiple GPUs).
|
||||
*
|
||||
* @warning On Windows, the free memory only accounts for memory allocated by this process and may
|
||||
* be optimistic.
|
||||
*
|
||||
* @param[out] free returns free memory on the current device in bytes
|
||||
* @param[out] total returns total allocatable memory on the current device in bytes
|
||||
*
|
||||
* @return #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue
|
||||
*
|
||||
**/
|
||||
hipError_t hipMemGetInfo(size_t* free, size_t* total);
|
||||
|
||||
hipError_t hipMemPtrGetInfo(void* ptr, size_t* size);
|
||||
/**
|
||||
* @brief Allocate an array on the device.
|
||||
|
||||
Reference in New Issue
Block a user