cuda_stream_manager.cpp 392 Bytes
Newer Older
Rick Ho's avatar
Rick Ho committed
1
#include <cassert>
2
#include <thread>
Rick Ho's avatar
Rick Ho committed
3
4
5

#include "cuda_stream_manager.h"

6
thread_local CudaStreamManager* smgr = NULL;
Rick Ho's avatar
Rick Ho committed
7

Jiezhong Qiu's avatar
Jiezhong Qiu committed
8
CudaStreamManager* getCudaStreamManager(const size_t num_expert, const int device) { 
Rick Ho's avatar
Rick Ho committed
9
    if (!smgr) {
Jiezhong Qiu's avatar
Jiezhong Qiu committed
10
        smgr = new CudaStreamManager(num_expert, device);        
Rick Ho's avatar
Rick Ho committed
11
12
    }
    assert(smgr->num_expert == num_expert);
Jiezhong Qiu's avatar
Jiezhong Qiu committed
13
    assert(smgr->device == device);
Rick Ho's avatar
Rick Ho committed
14
15
    return smgr;
}