/******************************************************************************* * * MIT License * * Copyright (c) 2017 Advanced Micro Devices, Inc. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * *******************************************************************************/ #ifndef GUARD_CONFIG_H_IN #define GUARD_CONFIG_H_IN #cmakedefine01 MIOPEN_BACKEND_OPENCL #cmakedefine01 MIOPEN_BACKEND_HCC #cmakedefine01 MIOPEN_BACKEND_HIP #cmakedefine01 MIOPEN_USE_MIOPENGEMM #cmakedefine01 MIOPEN_USE_ROCBLAS #cmakedefine01 MIOPEN_BUILD_DEV #cmakedefine01 MIOPEN_GPU_SYNC #cmakedefine01 MIOPEN_DEBUG_FIND_DB_CACHING #cmakedefine01 MIOPEN_USE_SCGEMM // Truncation rounding or (default) rounding to nearest even (RNE) is enabled. // This switch controls two related but different aspects of MIOpen behavior: // 1. How host code performs conversions of float to bfloat16, important only // for testing. // 2. How BF16 kernels (which are kind of mixed-precision now and expected to // remain in the future) perform final conversion (and rounding) of FP32 // to BF16 results. This affects the main functionality of the library. #cmakedefine01 MIOPEN_USE_RNE_BFLOAT16 #cmakedefine MIOPEN_AMDGCN_ASSEMBLER "@MIOPEN_AMDGCN_ASSEMBLER@" #cmakedefine HIP_OC_COMPILER "@HIP_OC_COMPILER@" #cmakedefine MIOPEN_HIP_COMPILER "@MIOPEN_HIP_COMPILER@" #cmakedefine EXTRACTKERNEL_BIN "@EXTRACTKERNEL_BIN@" #cmakedefine MIOPEN_CACHE_DIR "@MIOPEN_CACHE_DIR@" #define MIOPEN_USE_GEMM (MIOPEN_USE_MIOPENGEMM || MIOPEN_USE_ROCBLAS) // Usage of "defined" operator within macro expansion is undefined behavior, // so "defined(NDEBUG)" cannot be used there... unlike the following macro: #ifdef NDEBUG #define MIOPEN_NDEBUG 1 #else #define MIOPEN_NDEBUG 0 #endif // Installable builds are those which aren't intended for debugging. // We damp down some diagnostic messages (Error -> Warning) etc. #define MIOPEN_INSTALLABLE (MIOPEN_NDEBUG && !MIOPEN_BUILD_DEV) #define MIOPEN_ALLOC_BUFFERS 0 #endif