3.6.0 update (#2005)
* 3.6.0 update * doc and swap stuff --------- Co-authored-by: yuzhai <yuzhai@nvidia.com> Co-authored-by: Haicheng Wu <haichengw@nvidia.com>
This commit is contained in:
co-authored by
yuzhai
Haicheng Wu
parent
e1cd8c7866
commit
3d261a5974
@@ -430,7 +430,7 @@ public:
|
||||
protected:
|
||||
/// Method to profile an initialized CUTLASS operation
|
||||
virtual Status profile_cutlass_(
|
||||
double &runtime,
|
||||
PerformanceResult &result,
|
||||
Options const &options,
|
||||
library::Operation const *operation,
|
||||
void *arguments,
|
||||
|
||||
@@ -384,7 +384,7 @@ protected:
|
||||
|
||||
/// Method to profile an initialized CUTLASS operation
|
||||
virtual Status profile_cutlass_(
|
||||
double &runtime,
|
||||
PerformanceResult &result,
|
||||
Options const &options,
|
||||
library::Operation const *operation,
|
||||
void *arguments,
|
||||
|
||||
@@ -304,7 +304,7 @@ struct cublasLtGemmExDispatcher {
|
||||
);
|
||||
|
||||
/// Executes GEMM using these arguments
|
||||
cublasStatus_t operator()(cublasLtHandle_t handle);
|
||||
cublasStatus_t operator()(cublasLtHandle_t handle, cudaStream_t stream = nullptr);
|
||||
|
||||
~cublasLtGemmExDispatcher(){
|
||||
|
||||
|
||||
@@ -90,9 +90,9 @@ AlgorithmMode from_string<AlgorithmMode>(std::string const &str);
|
||||
/// Outcome of a performance test
|
||||
enum class Disposition {
|
||||
kPassed,
|
||||
kFailed,
|
||||
kFailed, // kernel itself reported an error
|
||||
kNotRun,
|
||||
kIncorrect,
|
||||
kIncorrect, // kernel finished without a detected error, but result does not equal expected result
|
||||
kNotVerified,
|
||||
kInvalidProblem,
|
||||
kNotSupported,
|
||||
|
||||
@@ -143,6 +143,8 @@ public:
|
||||
|
||||
/// Buffer used for the cutlass reduction operations' host workspace
|
||||
std::vector<uint8_t> reduction_host_workspace;
|
||||
|
||||
cudaStream_t stream;
|
||||
};
|
||||
|
||||
protected:
|
||||
@@ -155,7 +157,7 @@ protected:
|
||||
GemmProblem problem_;
|
||||
|
||||
/// Device memory allocations
|
||||
GemmWorkspace gemm_workspace_;
|
||||
std::vector<GemmWorkspace> gemm_workspace_;
|
||||
|
||||
/// CUTLASS parallel reduction operation to follow this* gemm operation
|
||||
library::Operation const *reduction_op_;
|
||||
@@ -231,7 +233,8 @@ protected:
|
||||
DeviceContext &device_context,
|
||||
library::Operation const *operation,
|
||||
ProblemSpace const &problem_space,
|
||||
ProblemSpace::Problem const &problem);
|
||||
ProblemSpace::Problem const &problem,
|
||||
GemmWorkspace &gemm_workspace);
|
||||
|
||||
/// Verifies CUTLASS against host and device references
|
||||
bool verify_with_reference_(
|
||||
@@ -246,7 +249,7 @@ protected:
|
||||
|
||||
/// Method to profile a CUTLASS Operation
|
||||
Status profile_cutlass_(
|
||||
double &runtime,
|
||||
PerformanceResult &result,
|
||||
Options const &options,
|
||||
library::Operation const *operation,
|
||||
void *arguments,
|
||||
|
||||
@@ -51,16 +51,21 @@ struct GpuTimer {
|
||||
//
|
||||
|
||||
GpuTimer();
|
||||
|
||||
GpuTimer(GpuTimer const&) = delete;
|
||||
|
||||
GpuTimer(GpuTimer &&gpu_timer) noexcept;
|
||||
|
||||
~GpuTimer();
|
||||
|
||||
/// Records a start event in the stream
|
||||
void start(cudaStream_t stream = nullptr);
|
||||
/// Records a start event in the stream, the flag is for cudaEventRecordWithFlags
|
||||
void start(cudaStream_t stream = nullptr, unsigned int flag = cudaEventRecordDefault);
|
||||
|
||||
/// Records a stop event in the stream
|
||||
void stop(cudaStream_t stream = nullptr);
|
||||
/// Records a stop event in the stream, the flag is for cudaEventRecordWithFlags
|
||||
void stop(cudaStream_t stream = nullptr, unsigned int flag = cudaEventRecordDefault);
|
||||
|
||||
/// Records a stop event in the stream and synchronizes on the stream
|
||||
void stop_and_wait(cudaStream_t stream = nullptr);
|
||||
/// Records a stop event in the stream and synchronizes on the stream, the flag is for cudaEventRecordWithFlags
|
||||
void stop_and_wait(cudaStream_t stream = nullptr, unsigned int flag = cudaEventRecordDefault);
|
||||
|
||||
/// Returns the duration in milliseconds
|
||||
double duration(int iterations = 1) const;
|
||||
|
||||
@@ -232,7 +232,7 @@ protected:
|
||||
|
||||
/// Method to profile an initialized CUTLASS operation
|
||||
virtual Status profile_cutlass_(
|
||||
double &runtime,
|
||||
PerformanceResult &result,
|
||||
Options const &options,
|
||||
library::Operation const *operation,
|
||||
void *arguments,
|
||||
|
||||
@@ -86,6 +86,9 @@ struct PerformanceResult {
|
||||
/// Average runtime in ms
|
||||
double runtime;
|
||||
|
||||
/// Average runtime in ms per device
|
||||
std::vector<double> runtime_vector;
|
||||
|
||||
//
|
||||
// Members
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user