Add support for H100 (sm90).
Make sure NCCL kernel honor user stream priorities.
Este commit está contenido en:
Sylvain Jeaugey
2022-09-27 02:31:13 -07:00
padre 78313a6d21
commit da8152e57a
Se han modificado 22 ficheros con 303 adiciones y 76 borrados
+2 -3
Ver fichero
@@ -22,7 +22,7 @@ struct ncclCudaGraph {
#endif
};
inline struct ncclCudaGraph ncclCudaGraphNull() {
inline struct ncclCudaGraph ncclCudaGraphNone() {
struct ncclCudaGraph tmp;
#if CUDART_VERSION >= 11030
tmp.graph = nullptr;
@@ -50,7 +50,6 @@ inline bool ncclCudaGraphSame(struct ncclCudaGraph a, struct ncclCudaGraph b) {
ncclResult_t ncclCudaGetCapturingGraph(struct ncclCudaGraph* graph, cudaStream_t stream);
ncclResult_t ncclCudaGraphAddDestructor(struct ncclCudaGraph graph, cudaHostFn_t fn, void* arg);
/* ncclStrongStream: An abstraction over CUDA streams that do not lose their
* identity while being captured. Regular streams have the deficiency that the
* captured form of a stream in one graph launch has no relation to the
@@ -88,7 +87,7 @@ ncclResult_t ncclStrongStreamAcquire(
// Acquire-fence the strong stream assuming no graph is capturing. This permits
// the caller to enqueue directly to the `ss->stream` member using native CUDA
// calls. Strong stream must be released via:
// ncclStrongStreamRelease(ncclCudaGraphNull(), graphRefs, ss);
// ncclStrongStreamRelease(ncclCudaGraphNone(), ss);
ncclResult_t ncclStrongStreamAcquireUncaptured(struct ncclStrongStream* ss);
// Release-fence of the strong stream.