v4.2 release. (#2587)
* Fix default cluster callback values to 1 to avoid profiler failure when these values are not set in command line. * v4.2 release.
This commit is contained in:
@@ -283,12 +283,34 @@ file(GLOB_RECURSE GENERATOR_PYTHON_SOURCES CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOU
|
||||
set(CUTLASS_GENERATOR_CUDA_COMPILER_VERSION ${CMAKE_CUDA_COMPILER_VERSION})
|
||||
set(CUTLASS_LIBRARY_GENERATED_KERNEL_LIST_FILE ${CMAKE_CURRENT_BINARY_DIR}/generated_kernels.txt CACHE STRING "Generated kernel listing file")
|
||||
|
||||
set(CUTLASS_LIBRARY_HEURISTICS_TESTLIST_FILE ${CMAKE_CURRENT_BINARY_DIR}/heuristics.csv CACHE STRING "Generated heuristics configs CSV")
|
||||
set(CUTLASS_LIBRARY_HEURISTICS_GPU "" CACHE STRING "GPU to use for GEMM heuristics")
|
||||
set(CUTLASS_LIBRARY_HEURISTICS_RESTRICT_KERNELS OFF CACHE BOOL
|
||||
"Restrict heuristics kernels to only the default set of kernels emitted by generator.py")
|
||||
|
||||
|
||||
if(CUTLASS_LIBRARY_HEURISTICS_PROBLEMS_FILE)
|
||||
set(HEURISTICS_ARGS
|
||||
--heuristics-problems-file "${CUTLASS_LIBRARY_HEURISTICS_PROBLEMS_FILE}"
|
||||
--heuristics-testlist-file "${CUTLASS_LIBRARY_HEURISTICS_TESTLIST_FILE}"
|
||||
--heuristics-configs-per-problem "${CUTLASS_LIBRARY_HEURISTICS_CONFIGS_PER_PROBLEM}"
|
||||
)
|
||||
|
||||
if(CUTLASS_LIBRARY_HEURISTICS_RESTRICT_KERNELS)
|
||||
list(APPEND HEURISTICS_ARGS --heuristics-restrict-kernels)
|
||||
endif()
|
||||
|
||||
if(CUTLASS_LIBRARY_HEURISTICS_GPU)
|
||||
list(APPEND HEURISTICS_ARGS --heuristics-gpu "${CUTLASS_LIBRARY_HEURISTICS_GPU}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# --log-level is set to DEBUG to enable printing information about which kernels were excluded
|
||||
# from generation in /python/cutlass_library/manifest.py. To avoid having this information appear
|
||||
# in ${CMAKE_CURRENT_BINARY_DIR}/library_instance_generation.log, set this parameter to INFO
|
||||
execute_process(
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../python/cutlass_library
|
||||
COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${CUTLASS_LIBRARY_PACKAGE_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${CUTLASS_LIBRARY_PACKAGE_DIR}:${CUTLASS_NVMMH_PY_DIR}
|
||||
${Python3_EXECUTABLE} ${CUTLASS_SOURCE_DIR}/python/cutlass_library/generator.py
|
||||
--operations "${CUTLASS_LIBRARY_OPERATIONS}"
|
||||
--build-dir ${PROJECT_BINARY_DIR}
|
||||
@@ -304,6 +326,7 @@ execute_process(
|
||||
--cuda-version "${CUTLASS_GENERATOR_CUDA_COMPILER_VERSION}"
|
||||
--log-level INFO
|
||||
--disable-cutlass-package-imports
|
||||
${HEURISTICS_ARGS}
|
||||
RESULT_VARIABLE cutlass_lib_INSTANCE_GENERATION_RESULT
|
||||
OUTPUT_VARIABLE cutlass_lib_INSTANCE_GENERATION_OUTPUT
|
||||
OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/library_instance_generation.log
|
||||
|
||||
@@ -127,12 +127,25 @@ template <typename OperatorClass> struct ArchMap<arch::Sm100, OperatorClass> {
|
||||
|
||||
template <> struct ArchMap<arch::Sm100, arch::OpClassTensorOp> {
|
||||
static int const kMin = 100;
|
||||
static int const kMax = 101;
|
||||
#if (__CUDACC_VER_MAJOR__ >= 13)
|
||||
static int const kMax = 110;
|
||||
#else
|
||||
static int const kMax = 103;
|
||||
#endif // __CUDACC_VER_MAJOR__ >= 13
|
||||
};
|
||||
|
||||
template <typename OperatorClass> struct ArchMap<arch::Sm103, OperatorClass> {
|
||||
static int const kMin = 103;
|
||||
static int const kMax = 1024;
|
||||
};
|
||||
template <> struct ArchMap<arch::Sm103, arch::OpClassTensorOp> {
|
||||
static int const kMin = 103;
|
||||
static int const kMax = 103;
|
||||
};
|
||||
|
||||
template <typename OperatorClass> struct ArchMap<arch::Sm120, OperatorClass> {
|
||||
static int const kMin = 120;
|
||||
static int const kMax = 120;
|
||||
static int const kMax = 121;
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Reference in New Issue
Block a user