@@ -52,6 +52,10 @@ endif()
5252
5353project ( MIOpen C CXX )
5454
55+ set (CMAKE_CXX_STANDARD 17)
56+ set (CMAKE_CXX_STANDARD_REQUIRED ON )
57+ set (CMAKE_CXX_EXTENSIONS OFF )
58+
5559enable_testing ()
5660
5761find_package (ROCM 0.7.3 REQUIRED PATHS /opt/rocm)
@@ -64,6 +68,9 @@ include(ROCMCreatePackage)
6468include (CheckCXXCompilerFlag)
6569include (ROCMHeaderWrapper)
6670
71+ # Build library with Beta APIs
72+ add_definitions ("-DMIOPEN_BETA_API=1" )
73+
6774set (MIOPEN_ENABLE_AI_IMMED_MODE_FALLBACK On CACHE BOOL "Enable AI-based fallback for Immediate Mode" )
6875set (MIOPEN_ENABLE_AI_KERNEL_TUNING On CACHE BOOL "Enable AI heuristic for kernel tuning" )
6976set (MIOPEN_ENABLE_SQLITE On CACHE BOOL "" )
@@ -103,11 +110,6 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
103110 endif ()
104111endif ()
105112
106-
107- ############################################################
108- # require C++14
109- add_compile_options (-std=c++17)
110-
111113############################################################
112114# OPTION - MIOpen Backend
113115# - OpenCL
@@ -173,7 +175,6 @@ set_property( CACHE MIOPEN_BACKEND PROPERTY STRINGS
173175if ( MIOPEN_BACKEND STREQUAL "OpenCL" )
174176 set (MIOPEN_BACKEND_OPENCL 1)
175177 find_package ( OpenCL REQUIRED )
176- set (MIOPEN_USE_MIOPENGEMM ON CACHE BOOL "" )
177178 find_program (MIOPEN_HIP_COMPILER clang++
178179 PATH_SUFFIXES bin
179180 PATHS
@@ -186,9 +187,6 @@ if( MIOPEN_BACKEND STREQUAL "OpenCL")
186187 message (FATAL_ERROR "hip compiler not found" )
187188 endif ()
188189
189- # MIOpenTensile does not support opencl backend yet.
190- set (MIOPEN_USE_MIOPENTENSILE OFF CACHE BOOL "" )
191-
192190 # TODO (priority_low) Use to build HIP and ASM kernels.
193191 if (MIOPEN_USE_COMGR)
194192 message (FATAL_ERROR "comgr cannot be used with OpenCL backend" )
@@ -253,6 +251,11 @@ math(EXPR MIOPEN_hip_VERSION_FLAT "(${MIOPEN_hip_VERSION_MAJOR} * 1000 + ${MIOPE
253251set_var_to_condition(MIOPEN_USE_HIPRTC_DEFAULT ${MIOPEN_USE_COMGR} AND (${MIOPEN_hip_VERSION_FLAT} GREATER 500000000))
254252option (MIOPEN_USE_HIPRTC "Use HIPRTC to build HIP kernels instead of COMGR" ${MIOPEN_USE_HIPRTC_DEFAULT} )
255253
254+ # WORKAROUND_SWDEV_413293
255+ if (${MIOPEN_hip_VERSION_FLAT} GREATER_EQUAL 500723302)
256+ string (APPEND HIP_COMPILER_FLAGS " -fno-offload-uniform-block " )
257+ endif ()
258+
256259message (STATUS "Hip compiler flags: ${HIP_COMPILER_FLAGS} " )
257260
258261add_definitions ("-DHIP_COMPILER_FLAGS=${HIP_COMPILER_FLAGS} " )
@@ -267,9 +270,6 @@ if( MIOPEN_BACKEND STREQUAL "HIP" OR MIOPEN_BACKEND STREQUAL "HIPOC" OR MIOPEN_B
267270 set (MIOPEN_MODE_NOGPU 1)
268271 endif ()
269272 set (MIOPEN_BACKEND_HIP 1)
270- set (MIOPEN_USE_MIOPENGEMM OFF CACHE BOOL "" )
271- # miopentensile default off
272- set (MIOPEN_USE_MIOPENTENSILE OFF CACHE BOOL "" )
273273
274274 find_program (HIP_OC_COMPILER clang
275275 PATH_SUFFIXES bin
@@ -370,31 +370,6 @@ find_program(MIOPEN_AMDGCN_ASSEMBLER
370370)
371371message (STATUS "AMDGCN assembler: ${MIOPEN_AMDGCN_ASSEMBLER} " )
372372
373- # miopentensile
374- if (MIOPEN_USE_MIOPENTENSILE)
375- find_package (miopentensile)
376- message (STATUS "Build with miopentensile" )
377- else ()
378- message (STATUS "Build without miopentensile" )
379- endif ()
380-
381- # miopengemm
382- if (MIOPEN_USE_MIOPENGEMM)
383- find_package (miopengemm PATHS /opt/rocm)
384- if (NOT miopengemm_FOUND)
385- set (MIOPEN_USE_MIOPENGEMM 0)
386- endif ()
387- endif ()
388-
389- if (MIOPEN_USE_MIOPENGEMM)
390- message (STATUS "Build with miopengemm" )
391- else ()
392- if (MIOPEN_BACKEND_OPENCL)
393- message (FATAL_ERROR "MIOpen OpenCL backend requires MIOpenGEMM" )
394- endif ()
395- message (STATUS "Build without miopengemm" )
396- endif ()
397-
398373if (MIOPEN_USE_COMGR)
399374 find_package (amd_comgr REQUIRED CONFIG)
400375 message (STATUS "Build with comgr ${amd_comgr_VERSION} " )
@@ -413,7 +388,7 @@ set(BOOST_COMPONENTS filesystem)
413388add_definitions (-DBOOST_ALL_NO_LIB=1)
414389find_package (Boost REQUIRED COMPONENTS ${BOOST_COMPONENTS} )
415390
416- find_path (HALF_INCLUDE_DIR half.hpp)
391+ find_path (HALF_INCLUDE_DIR half/half .hpp)
417392message (STATUS "HALF_INCLUDE_DIR: ${HALF_INCLUDE_DIR} " )
418393
419394option ( MIOPEN_DEBUG_FIND_DB_CACHING "Use system find-db caching" ON )
@@ -441,10 +416,6 @@ set(MIOPEN_SYSTEM_FIND_DB_SUFFIX "${MIOPEN_BACKEND}" CACHE PATH "Filename suffix
441416
442417set (MIOPEN_PACKAGE_REQS "hip-rocclr" )
443418
444- if (MIOPEN_USE_MIOPENGEMM)
445- set (MIOPEN_PACKAGE_REQS "${MIOPEN_PACKAGE_REQS} , miopengemm" )
446- endif ()
447-
448419if (MIOPEN_USE_ROCBLAS)
449420 set (MIOPEN_PACKAGE_REQS "${MIOPEN_PACKAGE_REQS} , rocblas" )
450421endif ()
@@ -707,6 +678,14 @@ enable_clang_tidy(
707678 -cppcoreguidelines-avoid-const-or -ref-data-members
708679 -cppcoreguidelines-avoid-do-while
709680 -misc-use-anonymous-namespace
681+ ###################################################################
682+ # TODO Code Quality WORKAROUND ROCm 5.7
683+ ###################################################################
684+ -llvmlibc-inline-function-decl
685+ -cppcoreguidelines-avoid-capture-default-when-capturing-this
686+ -cppcoreguidelines-rvalue-reference-param-not -moved
687+ -readability-avoid-unconditional-preprocessor-if
688+ -bugprone-lambda-function-name
710689 ${MIOPEN_TIDY_CHECKS}
711690 ${MIOPEN_TIDY_ERRORS}
712691 HEADER_FILTER
@@ -795,7 +774,6 @@ enable_cppcheck(
795774 ${CMAKE_CURRENT_SOURCE_DIR} /src/include
796775 DEFINE
797776 CPPCHECK=1
798- MIOPEN_USE_MIOPENGEMM=1
799777 __linux__=1
800778)
801779
0 commit comments