Fix typos 2 (#842)

Co-authored-by: Haicheng Wu <57973641+hwu36@users.noreply.github.com>
This commit is contained in:
Alexander Pivovarov
2023-03-09 23:22:56 -05:00
committed by GitHub
co-authored by Haicheng Wu
parent c4f6b8c6bc
commit 7e370c9637
161 changed files with 310 additions and 309 deletions
+13 -13
View File
@@ -270,7 +270,7 @@ Status Conv2dOperationProfiler::initialize_configuration(
}
//////////////////////// Convolution output dimensions p and q ////////////////////////
// Cutlass convolutions support arbitrary output sizes and not constriant by //
// Cutlass convolutions support arbitrary output sizes and not constrained by //
// input, filter, padding, striding, dilation sizes. //
// cuDNN sets the output dimensions (p, q) using following equations: //
// //
@@ -502,7 +502,7 @@ void Conv2dOperationProfiler::initialize_result_(
// Bytes of activation, filter, and output tensors
result.bytes = problem_.bytes(operation_desc);
// Theoritical flops required for the computation
// Theoretical flops required for the computation
result.flops = problem_.flops(operation_desc);
// Measured runtime
@@ -510,7 +510,7 @@ void Conv2dOperationProfiler::initialize_result_(
}
/// Initialize reduction problem dimenstions and library::Operation
/// Initialize reduction problem dimensions and library::Operation
bool Conv2dOperationProfiler::initialize_reduction_configuration_(
Options const &options,
PerformanceReport &report,
@@ -535,7 +535,7 @@ bool Conv2dOperationProfiler::initialize_reduction_configuration_(
/// This chooses the appropriate stride element of the row-major C tensor.
int const & tensor_c_stride_idx = (conv_kind == library::ConvKind::kWgrad ? 2 : 0);
/// intialize library::ReductionConfiguration
/// initialize library::ReductionConfiguration
conv_workspace_.reduction_configuration.problem_size = problem_.eq_gemm_size(conv_kind).mn();
conv_workspace_.reduction_configuration.partitions = int(problem_.split_k_slices);
conv_workspace_.reduction_configuration.partition_stride = problem_.eq_gemm_size(conv_kind).mn().product();
@@ -773,7 +773,7 @@ bool Conv2dOperationProfiler::verify_cutlass(
conv_workspace_.arguments.alpha = problem_.alpha_one.data();
conv_workspace_.arguments.beta = problem_.beta_zero.data();
/// intialize library::ReductionArguments
/// initialize library::ReductionArguments
conv_workspace_.reduction_arguments.workspace = conv_workspace_.device_workspace.data();
conv_workspace_.reduction_arguments.source = conv_workspace_.C->data();
conv_workspace_.reduction_arguments.destination = conv_workspace_.Computed->data();
@@ -961,7 +961,7 @@ bool Conv2dOperationProfiler::verify_with_host_reference_(
conv_desc.tile_description.math_instruction.element_accumulator,
conv_desc.element_epilogue);
#if 0 // debug print to check which host refererence instance is selected
#if 0 // debug print to check which host reference instance is selected
std::cout << conv2d_key << "\n";
#endif
@@ -982,7 +982,7 @@ bool Conv2dOperationProfiler::verify_with_host_reference_(
return true;
}
// host refernce has only one instances in Conv2dOperationVectorMap
// host reference has only one instances in Conv2dOperationVectorMap
library::Operation const *reference_op = cc_it->second[0];
//
@@ -1009,7 +1009,7 @@ bool Conv2dOperationProfiler::verify_with_host_reference_(
conv_workspace_.arguments.pointer_mode = library::ScalarPointerMode::kHost;
//
// Intialize host reference operation
// Initialize host reference operation
//
std::vector<uint8_t> host_workspace_reference_op;
@@ -1114,11 +1114,11 @@ bool Conv2dOperationProfiler::verify_with_device_reference_(
return true;
}
// device refernce has only one instances in Conv2dOperationVectorMap
// device reference has only one instances in Conv2dOperationVectorMap
library::Operation const *reference_op = cc_it->second[0];
//
// Intialize device reference operation
// Initialize device reference operation
//
std::vector<uint8_t> host_workspace_reference_op;
@@ -1205,7 +1205,7 @@ bool Conv2dOperationProfiler::profile(
conv_workspace_.arguments.alpha = problem_.alpha_one.data();
conv_workspace_.arguments.beta = problem_.beta_zero.data();
/// intialize library::ReductionArguments
/// initialize library::ReductionArguments
conv_workspace_.reduction_arguments.workspace = conv_workspace_.device_workspace.data();
conv_workspace_.reduction_arguments.source = conv_workspace_.C->data();
conv_workspace_.reduction_arguments.destination = conv_workspace_.Computed->data();
@@ -1276,7 +1276,7 @@ Status Conv2dOperationProfiler::profile_cutlass_(
// update library::ConvArguments for parallel split-k reduction
conv_arguments->D = conv_workspace_.device_workspace.data();
/// intialize library::ReductionArguments
/// initialize library::ReductionArguments
conv_workspace_.reduction_arguments.workspace = conv_workspace_.device_workspace.data();
conv_workspace_.reduction_arguments.source = conv_workspace_.C->batch_data(problem_idx);
conv_workspace_.reduction_arguments.destination = conv_workspace_.Computed->batch_data(problem_idx);
@@ -1329,7 +1329,7 @@ Status Conv2dOperationProfiler::profile_cutlass_(
// update library::ConvArguments for parallel split-k reduction
conv_arguments->D = conv_workspace_.device_workspace.data();
/// intialize library::ReductionArguments
/// initialize library::ReductionArguments
conv_workspace_.reduction_arguments.workspace = conv_workspace_.device_workspace.data();
conv_workspace_.reduction_arguments.source = conv_workspace_.C->batch_data(problem_idx);
conv_workspace_.reduction_arguments.destination = conv_workspace_.Computed->batch_data(problem_idx);
@@ -189,7 +189,7 @@ public:
}
}
// Returns leading dimenstion for equivalent gemm matrix A
// Returns leading dimension for equivalent gemm matrix A
int64_t eq_gemm_lda(library::ConvKind const &conv_kind) const {
switch (conv_kind) {
@@ -200,7 +200,7 @@ public:
}
}
// Returns leading dimenstion for equivalent gemm matrix B
// Returns leading dimension for equivalent gemm matrix B
int64_t eq_gemm_ldb(library::ConvKind const &conv_kind) const {
switch (conv_kind) {
@@ -211,7 +211,7 @@ public:
}
}
// Returns leading dimenstion for equivalent gemm matrix C
// Returns leading dimension for equivalent gemm matrix C
int64_t eq_gemm_ldc(library::ConvKind const &conv_kind) const {
switch (conv_kind) {
@@ -436,7 +436,7 @@ protected:
void *device_workspace);
/// Initialize reduction problem dimenstions and library::Operation
/// Initialize reduction problem dimensions and library::Operation
bool initialize_reduction_configuration_(
Options const &options,
PerformanceReport &report,
@@ -284,7 +284,7 @@ Status Conv3dOperationProfiler::initialize_configuration(
}
//////////////////////// Convolution output dimensions p and q ////////////////////////
// Cutlass convolutions support arbitrary output sizes and not constriant by //
// Cutlass convolutions support arbitrary output sizes and not constrained by //
// input, filter, padding, striding, dilation sizes. //
// cuDNN sets the output dimensions (p, q) using following equations: //
// //
@@ -545,7 +545,7 @@ void Conv3dOperationProfiler::initialize_result_(
// Bytes of activation, filter, and output tensors
result.bytes = problem_.bytes(operation_desc);
// Theoritical flops required for the computation
// Theoretical flops required for the computation
result.flops = problem_.flops(operation_desc);
// Measured runtime
@@ -553,7 +553,7 @@ void Conv3dOperationProfiler::initialize_result_(
}
/// Initialize reduction problem dimenstions and library::Operation
/// Initialize reduction problem dimensions and library::Operation
bool Conv3dOperationProfiler::initialize_reduction_configuration_(
Options const &options,
PerformanceReport &report,
@@ -578,7 +578,7 @@ bool Conv3dOperationProfiler::initialize_reduction_configuration_(
/// This chooses the appropriate stride element of the row-major C tensor.
int const & tensor_c_stride_idx = (conv_kind == library::ConvKind::kWgrad ? 3 : 0);
/// intialize library::ReductionConfiguration
/// initialize library::ReductionConfiguration
conv_workspace_.reduction_configuration.problem_size = problem_.eq_gemm_size(conv_kind).mn();
conv_workspace_.reduction_configuration.partitions = int(problem_.split_k_slices);
conv_workspace_.reduction_configuration.partition_stride = problem_.eq_gemm_size(conv_kind).mn().product();
@@ -947,7 +947,7 @@ bool Conv3dOperationProfiler::verify_with_host_reference_(
conv_desc.tile_description.math_instruction.element_accumulator,
conv_desc.element_epilogue);
#if 0 // debug print to check which host refererence instance is selected
#if 0 // debug print to check which host reference instance is selected
std::cout << conv_key << "\n";
#endif
@@ -968,7 +968,7 @@ bool Conv3dOperationProfiler::verify_with_host_reference_(
return true;
}
// host refernce has only one instances in ConvOperationVectorMap
// host reference has only one instances in ConvOperationVectorMap
library::Operation const *reference_op = cc_it->second[0];
//
@@ -993,7 +993,7 @@ bool Conv3dOperationProfiler::verify_with_host_reference_(
conv_workspace_.arguments.pointer_mode = library::ScalarPointerMode::kHost;
//
// Intialize host reference operation
// Initialize host reference operation
//
std::vector<uint8_t> host_workspace_reference_op;
@@ -1109,7 +1109,7 @@ void Conv3dOperationProfiler::set_cutlass_operator_arguments_(int problem_idx) {
conv_workspace_.arguments.alpha = problem_.alpha_one.data();
conv_workspace_.arguments.beta = problem_.beta_zero.data();
/// intialize library::ReductionArguments
/// initialize library::ReductionArguments
conv_workspace_.reduction_arguments.workspace = conv_workspace_.device_workspace.data();
conv_workspace_.reduction_arguments.source = conv_workspace_.C->batch_data(problem_idx);
conv_workspace_.reduction_arguments.destination = conv_workspace_.Computed->batch_data(problem_idx);
@@ -105,7 +105,7 @@ public:
/// Total number of flops computed
int64_t flops(library::ConvDescription const &operation_desc) const;
/// Infers output size from theinput size, padding, stride, and dilation
/// Infers output size from the input size, padding, stride, and dilation
void set_default_output_size() {
z = ((d + pad_d - t * dilation_d) / stride_d) + 1;
p = ((h + pad_h - r * dilation_h) / stride_h) + 1;
@@ -190,7 +190,7 @@ public:
}
}
// Returns leading dimenstion for equivalent gemm matrix A
// Returns leading dimension for equivalent gemm matrix A
int64_t eq_gemm_lda(library::ConvKind const &conv_kind) const {
switch (conv_kind) {
@@ -201,7 +201,7 @@ public:
}
}
// Returns leading dimenstion for equivalent gemm matrix B
// Returns leading dimension for equivalent gemm matrix B
int64_t eq_gemm_ldb(library::ConvKind const &conv_kind) const {
switch (conv_kind) {
@@ -212,7 +212,7 @@ public:
}
}
// Returns leading dimenstion for equivalent gemm matrix C
// Returns leading dimension for equivalent gemm matrix C
int64_t eq_gemm_ldc(library::ConvKind const &conv_kind) const {
switch (conv_kind) {
@@ -389,7 +389,7 @@ protected:
void *host_workspace,
void *device_workspace);
/// Initialize reduction problem dimenstions and library::Operation
/// Initialize reduction problem dimensions and library::Operation
bool initialize_reduction_configuration_(
Options const &options,
PerformanceReport &report,
+1 -1
View File
@@ -57,7 +57,7 @@ Status get_cutlass_status(cublasStatus_t cublas) {
return Status::kErrorInternal;
}
/// Converts a cuBLASS status to cutlass::profiler::Disposition
/// Converts a cuBLAS status to cutlass::profiler::Disposition
Disposition get_cutlass_disposition(cublasStatus_t cublas_status) {
if (cublas_status == CUBLAS_STATUS_INVALID_VALUE) {
+6 -6
View File
@@ -54,7 +54,7 @@ namespace profiler {
/// Converts a cuBLAS status to cutlass::Status
Status get_cutlass_status(cublasStatus_t cublas);
/// Converts a cuBLASS status to cutlass::profiler::Disposition
/// Converts a cuBLAS status to cutlass::profiler::Disposition
Disposition get_cutlass_disposition(cublasStatus_t cublas_status);
/// Maps a CUTLASS tensor layout to a cuBLAS transpose operation
@@ -87,7 +87,7 @@ Status cublas_satisfies(library::SymmDescription const &desc);
/// This is a helper class to create cublasHandle_t automatically on CublasCreate object creation and
/// to destroy cublasHandle_t on CublasCreate object destruction.
/// Additionaly, it provides implicit cast from CublasCreate's object to cublasHandle_t's object
/// Additionally, it provides implicit cast from CublasCreate's object to cublasHandle_t's object
class CublasCreate {
private:
cublasHandle_t handle;
@@ -196,7 +196,7 @@ struct cublasGemmExDispatcher {
library::GemmUniversalConfiguration configuration;
library::GemmUniversalArguments arguments;
// cublass-specific data structures to fill cublas API call arguments
// cublas-specific data structures to fill cublas API call arguments
cublasOperation_t trans_A;
cublasOperation_t trans_B;
cudaDataType_t data_type_A;
@@ -237,7 +237,7 @@ struct cublasRankKDispatcher {
library::RankKConfiguration configuration;
library::RankKArguments arguments;
// cublass-specific data structures to fill cublas API call arguments
// cublas-specific data structures to fill cublas API call arguments
cublasOperation_t trans_A;
cublasFillMode_t uplo;
cudaDataType_t data_type_A;
@@ -277,7 +277,7 @@ struct cublasTrmmDispatcher {
library::TrmmConfiguration configuration;
library::TrmmArguments arguments;
// cublass-specific data structures to fill cublas API call arguments
// cublas-specific data structures to fill cublas API call arguments
cublasOperation_t trans_A;
cublasSideMode_t side;
cublasFillMode_t uplo;
@@ -318,7 +318,7 @@ struct cublasSymmDispatcher {
library::SymmConfiguration configuration;
library::SymmArguments arguments;
// cublass-specific data structures to fill cublas API call arguments
// cublas-specific data structures to fill cublas API call arguments
cublasSideMode_t side;
cublasFillMode_t uplo;
cudaDataType_t data_type_A;
+3 -3
View File
@@ -68,7 +68,7 @@ Disposition get_cutlass_disposition(cudnnStatus_t cudnn_status) {
return Disposition::kFailed;
}
/// Checks cudnnStatus_t converts to cutlas status and returns if Status::kSuccess o.w. throws exception
/// Checks cudnnStatus_t converts to cutlass status and returns if Status::kSuccess o.w. throws exception
Status checkCudnnErr(cudnnStatus_t cudnn_status) {
Status cutlass_status = get_cutlass_status(cudnn_status);
if(cutlass_status != Status::kSuccess) {
@@ -243,7 +243,7 @@ Status cudnn_satisfies(
}
//////////////////////// Convolution output dimensions p and q ///////////////////////
// Cutlass convolutions support arbitrary output dimensions and not constriant by //
// Cutlass convolutions support arbitrary output dimensions and not constrained by //
// input, filter, padding, striding, dilation sizes. //
// cuDNN sets the output dimensions (p, q) using following equations: //
// //
@@ -373,7 +373,7 @@ Status cudnn_satisfies(
}
//////////////////////// Convolution output dimensions p and q ///////////////////////
// Cutlass convolutions support arbitrary output dimensions and not constriant by //
// Cutlass convolutions support arbitrary output dimensions and not constrained by //
// input, filter, padding, striding, dilation sizes. //
// cuDNN sets the output dimensions (p, q) using following equations: //
// //
+5 -5
View File
@@ -55,7 +55,7 @@ Status get_cutlass_status(cudnnStatus_t cudnn_status);
/// Converts a cuDNN status to cutlass::profiler::Disposition
Disposition get_cutlass_disposition(cudnnStatus_t cudnn_status);
/// Checks cudnnStatus_t converts to cutlas status and returns if Status::kSuccess o.w. throws exception
/// Checks cudnnStatus_t converts to cutlass status and returns if Status::kSuccess o.w. throws exception
Status checkCudnnErr(cudnnStatus_t cudnn_status);
/// Maps a CUTLASS conv mode to a cuDNN conv mode enumeration
@@ -82,7 +82,7 @@ float cast_cudnn_compute_type_to_float(library::NumericTypeID type, void const *
/// This is a helper class to create cudnnHandle_t automatically on CudnnCreate object creation and
/// to destroy cudnnHandle_t on CudnnCreate object destruction.
/// Additionaly, it provides implicit cast from CudnnCreate's object to cudnnHandle_t's object
/// Additionally, it provides implicit cast from CudnnCreate's object to cudnnHandle_t's object
class CudnnCreate {
private:
cudnnHandle_t handle;
@@ -162,7 +162,7 @@ struct cudnnConvDispatcher {
// Methods
//
// TODO: unify ctor cudnnConvDispatcher for conv2d and conv3d by unifying Conv2dConfigration
// TODO: unify ctor cudnnConvDispatcher for conv2d and conv3d by unifying Conv2dConfiguration
// ctor for conv2d
cudnnConvDispatcher(
@@ -496,7 +496,7 @@ struct cudnnConvDispatcher {
workspace = cutlass::device_memory::allocation<char>(workspace_size_in_bytes);
}
/// Executes Conv2d operater from cudnn library
/// Executes Conv2d operator from cudnn library
cudnnStatus_t operator()(cudnnHandle_t handle) {
switch (conv_kind) {
@@ -552,7 +552,7 @@ struct cudnnConvDispatcher {
}
}
// Returns Actviation Tensor
// Returns Activation Tensor
void const * activation() const {
switch(conv_kind) {
case library::ConvKind::kFprop : return arguments.A;
+1 -1
View File
@@ -39,7 +39,7 @@
//#define report(x) { std::cout << "\033[31m" << __FILE__ << ":" << __LINE__ << " " << x << "\033[0m" << std::endl; }
//#define report(x) {}
// Enable/Disble Profiler debug prints
// Enable/Disable Profiler debug prints
//#define DEBUG_PROFILER
//RED 31m // profiler prints debug messages in red
+2 -2
View File
@@ -442,12 +442,12 @@ int DeviceAllocation::batch_count() const {
return batch_count_;
}
/// Gets the stride (in units of elements) beteween items
/// Gets the stride (in units of elements) between items
int64_t DeviceAllocation::batch_stride() const {
return batch_stride_;
}
/// Gets the stride (in units of bytes) beteween items
/// Gets the stride (in units of bytes) between items
int64_t DeviceAllocation::batch_stride_bytes() const {
return bytes(type_, batch_stride_);
}
+2 -2
View File
@@ -176,10 +176,10 @@ public:
/// Gets the number of adjacent tensors in memory
int batch_count() const;
/// Gets the stride (in units of elements) beteween items
/// Gets the stride (in units of elements) between items
int64_t batch_stride() const;
/// Gets the stride (in units of bytes) beteween items
/// Gets the stride (in units of bytes) between items
int64_t batch_stride_bytes() const;
/// Capacity of allocation in number of elements
@@ -108,7 +108,7 @@ void GemmOperationProfiler::print_examples(std::ostream &out) const {
<< "Run when A is f16 with column-major and B is any datatype with row-major (For column major, use column, col, or n. For row major use, row or t):\n"
<< " $ cutlass_profiler --operation=Gemm --A=f16:column --B=*:row\n\n"
<< "Profile a particular problem size with split K and paralell reduction:\n"
<< "Profile a particular problem size with split K and parallel reduction:\n"
<< " $ cutlass_profiler --operation=Gemm --split_k_mode=parallel --split_k_slices=2 --m=1024 --n=1024 --k=128\n\n"
<< "Using various input value distribution:\n"
@@ -168,7 +168,7 @@ Status GemmOperationProfiler::GemmProblem::parse(
}
if (!arg_as_SplitKModeID(this->split_k_mode, "split_k_mode", problem_space, problem)) {
// defualt value
// default value
this->split_k_mode = library::SplitKMode::kSerial;
}
@@ -405,7 +405,7 @@ void GemmOperationProfiler::initialize_result_(
}
/// Initialize redution problem dimentions and library::Operation
/// Initialize reduction problem dimensions and library::Operation
bool GemmOperationProfiler::initialize_reduction_configuration_(
library::Operation const *operation,
ProblemSpace::Problem const &problem) {
@@ -434,7 +434,7 @@ bool GemmOperationProfiler::initialize_reduction_configuration_(
gemm_desc.tile_description.math_instruction.element_accumulator, // element workspace
gemm_desc.tile_description.math_instruction.element_accumulator, // element accumulator
gemm_desc.C.element, // element output
gemm_desc.element_epilogue // element coumpute
gemm_desc.element_epilogue // element compute
);
auto reduction_it = library::Singleton::get().operation_table.reduction_operations.find(reduction_key);
+1 -1
View File
@@ -94,7 +94,7 @@ void GpuTimer::stop_and_wait(cudaStream_t stream) {
}
}
/// Returns the duration in miliseconds
/// Returns the duration in milliseconds
double GpuTimer::duration(int iterations) const {
float avg_ms;
+1 -1
View File
@@ -62,7 +62,7 @@ struct GpuTimer {
/// Records a stop event in the stream and synchronizes on the stream
void stop_and_wait(cudaStream_t stream = nullptr);
/// Returns the duration in miliseconds
/// Returns the duration in milliseconds
double duration(int iterations = 1) const;
};
+1 -1
View File
@@ -81,7 +81,7 @@ protected:
/// List of providers used to verify and compare each result
ProviderVector verification_providers_;
/// Model performance result initailized by the operation profiler with workload statistics
/// Model performance result initialized by the operation profiler with workload statistics
/// and reasonable default state.
PerformanceResult model_result_;
+2 -2
View File
@@ -189,7 +189,7 @@ Options::Initialization::Initialization(cutlass::CommandLine const &cmdline) {
enabled = false;
}
else if (provider != library::Provider::kReferenceHost && provider != library::Provider::kReferenceDevice) {
throw std::runtime_error("Unsupported intialization provider specified.");
throw std::runtime_error("Unsupported initialization provider specified.");
}
}
else {
@@ -205,7 +205,7 @@ Options::Initialization::Initialization(cutlass::CommandLine const &cmdline) {
get_distribution(cmdline, "dist", data_distribution);
}
else {
// profiler choosen data distribution (allowed to change based on numeric types)
// profiler chosen data distribution (allowed to change based on numeric types)
fix_data_distribution = false;
// set uniform data distribution with range [-4, 4]
data_distribution.set_uniform(-4, 4, 0);
+1 -1
View File
@@ -231,7 +231,7 @@ public:
std::vector<std::pair<std::string, std::string>> pivot_tags;
/// If true, reports status of all kernels including those that were
/// not run for the given argumetns
/// not run for the given arguments
bool report_not_run;
/// Prints human-readable text to stdout. If false, nothing is written to stdout
+2 -2
View File
@@ -284,7 +284,7 @@ struct ScalarArgument : public KernelArgument {
// Data members
//
/// Set of posible values
/// Set of possible values
ValueCollection values;
//
@@ -540,7 +540,7 @@ struct IntegerArgument : public KernelArgument {
// Data members
//
/// Set of posible values
/// Set of possible values
RangeCollection ranges;
//