More updates for 3.1 (#958)
* Updates for 3.1 * Minor change * doc link fix * Minor updates
This commit is contained in:
@@ -156,11 +156,11 @@ static bool
|
||||
can_implement(Arguments const& args);
|
||||
|
||||
// Returns a dim3 representing the threadblock shape.
|
||||
static constexpr dim3
|
||||
static dim3
|
||||
get_block_shape();
|
||||
|
||||
// Returns a dim3 representing the grid shape in terms of threadblocks.
|
||||
static constexpr dim3
|
||||
static dim3
|
||||
get_grid_shape(Params const& params);
|
||||
```
|
||||
|
||||
|
||||
+16
-4
@@ -353,8 +353,9 @@ Hopper architecture and beyond so as to indicate new features of the kernel with
|
||||
|
||||
To best illustrate this naming convention, we will walk through the meaning of each of the components
|
||||
in a GEMM kernel used by the profiler:
|
||||
|
||||
```
|
||||
cutlass3x_sm90_tensorop_s64x128x16gemm_f16_f16_f32_f32_128x128x64_2x1x1_0_ntn_align8
|
||||
cutlass3x_sm90_tensorop_s64x128x16gemm_f16_f16_f32_f16_f32_128x128x64_2x1x1_0_ntn_align8
|
||||
```
|
||||
|
||||
The components within this name are as follows:
|
||||
@@ -366,8 +367,7 @@ The components within this name are as follows:
|
||||
* `s`: indicates that the Tensor Core instruction being used accumulates in single precision
|
||||
(as opposed to `h`, which indicates half precision)
|
||||
* `64x128x16gemm`: indicates that the shape of the Tensor Core instruction being used (MxNxK) is 64x128x16
|
||||
* `f16_f16_f32_f16`: indicates that the data types for operands A, B, and C are each `f16`
|
||||
(half precision) and that accumulation is performed using `f32` (single precision)
|
||||
* `f16_f16_f32_f16_f16`: indicates that the data types for operands A, B, Accumulator, C and D (in that order).
|
||||
* `128x128x64`: indicates that the thread block shape used in the GEMM (MxNxK) is 128x128x64
|
||||
* `2x1x1`: indicates that the cluster shape being used is 2x1x1
|
||||
* `0`: indicates that the kernel uses the CollectiveBuilder's automatic stage calculation to determine the
|
||||
@@ -382,12 +382,24 @@ Note that in some special cases where the input A/B types do not match that of t
|
||||
instruction's, the MMA facing input type is added to the instruction string as well.
|
||||
|
||||
```
|
||||
cutlass3x_sm90_tensorop_s64x128x8tf32gemm_f32_f32_f32_f32_128x128x32_2x1x1_0_tnn_align4
|
||||
cutlass3x_sm90_tensorop_s64x128x8tf32gemm_f32_f32_f32_f32_f32_128x128x32_2x1x1_0_tnn_align4
|
||||
```
|
||||
|
||||
* `s64x128x8tf32gemm`: indicates that the MMA consumes inputs in `tf32` format, and therefore
|
||||
the kernel performs rounding of the `f32` values in global memory while loading them into shared memory.
|
||||
|
||||
For custom mainloop or epilogue schedules, details of the opted-in schedule are appended to the end of the
|
||||
kernel name. For example,
|
||||
|
||||
```
|
||||
cutlass3x_sm90_tensorop_h64x128x16gemm_f16_f16_f16_void_f16_128x128x64_1x1x1_0_nnn_align8_warpspecialized_cooperative_epi_tma
|
||||
```
|
||||
|
||||
* `warpspecialized_cooperative`: Mainloop employs a persistent warp-specialized mainloop and kernel schedule.
|
||||
* `epi_tma`: Kernel epilogue employs TMA based vectorization.
|
||||
* `f16_f16_f16_void_f16`: In this case, C type is set to `void`, indicating that residual matrix support
|
||||
is disabled.
|
||||
|
||||
# Convolution
|
||||
|
||||
The CUTLASS Profiler is capable of executing 2-D and 3-D convolution problems for forwards and backwards
|
||||
|
||||
Reference in New Issue
Block a user