Unverified Commit 8232c294 authored by rerrabolu's avatar rerrabolu Committed by GitHub
Browse files

Merge pull request #6 from RadeonOpenCompute/addValidationMode

Update CMakeListst.txt to be build in ROCm repo forest
parents 3be08c98 6c39068f
......@@ -24,67 +24,119 @@ cmake_minimum_required(VERSION 2.8.0)
# @note: Add -DCMAKE_BUILD_TYPE=Debug if you want to build Debug
#
# Build is not supported on Windows plaform
if(WIN32)
MESSAGE("Windows platfom is not supported")
RRETURN()
message("Windows platfom is not supported")
RETURN()
endif()
#
# Flag to enable / disable verbose output.
#
SET( CMAKE_VERBOSE_MAKEFILE on )
#
# Determin Roc Runtime header files are accessible
#
if(NOT EXISTS ${ROCR_INC_DIR}/hsa/hsa.h)
MESSAGE("ERROR: ROC Runtime headers can't be found under specified path")
RETURN()
SET(CMAKE_VERBOSE_MAKEFILE on)
# Compiler Preprocessor definitions.
add_definitions(-D__linux__)
add_definitions(-DUNIX_OS)
add_definitions(-DLINUX)
add_definitions(-D__AMD64__)
add_definitions(-D__x86_64__)
add_definitions(-DAMD_INTERNAL_BUILD)
add_definitions(-DLITTLEENDIAN_CPU=1)
add_definitions(-DHSA_LARGE_MODEL=)
add_definitions(-DHSA_DEPRECATED=)
# Enable debug trace
if(DEFINED ENV{CMAKE_DEBUG_TRACE})
add_definitions (-DDEBUG_TRACE=1)
endif()
#
# Set core runtime module name
#
set ( ROC_THUNK_NAME "hsakmt" )
set ( CORE_RUNTIME_NAME "hsa-runtime" )
set ( ROC_THUNK_LIBRARY "lib${ROC_THUNK_NAME}" )
set ( CORE_RUNTIME_TARGET "${CORE_RUNTIME_NAME}64" )
set ( CORE_RUNTIME_LIBRARY "lib${CORE_RUNTIME_TARGET}" )
if(NOT EXISTS ${ROCR_LIB_DIR}/${CORE_RUNTIME_LIBRARY}.so)
MESSAGE("ERROR: ROC Runtime libraries can't be found under sprcified path")
RETURN()
# Linux Compiler options
set(CMAKE_CXX_FLAGS "-std=c++11")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=return-type")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-math-errno")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fms-extensions")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmerge-all-constants")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-threadsafe-statics")
# CLANG options
if("$ENV{CXX}" STREQUAL "/usr/bin/clang++")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ferror-limit=1000000")
endif()
set(PROJECT_NAME "rocm_bandwidth_test")
set(TEST_NAME "${PROJECT_NAME}")
project (${PROJECT_NAME})
set(CMAKE_SHARED_LINKER_FLAGS "-Wl,-Bdynamic -Wl,-z,noexecstack")
set(CMAKE_SKIP_BUILD_RPATH TRUE)
string(TOLOWER "${CMAKE_BUILD_TYPE}" tmp)
if("${tmp}" STREQUAL "debug")
set(ISDEBUG "1")
add_definitions(-DDEBUG)
# Check Env vars
if(NOT DEFINED CMAKE_BUILD_TYPE OR "${CMAKE_BUILD_TYPE}" STREQUAL "")
if(DEFINED ENV{CMAKE_BUILD_TYPE})
set(CMAKE_BUILD_TYPE $ENV{CMAKE_BUILD_TYPE})
endif()
endif()
if(ISDEBUG)
set(CMAKE_CXX_FLAGS "-std=c++11 -O0")
if(NOT DEFINED CMAKE_PREFIX_PATH AND DEFINED ENV{CMAKE_PREFIX_PATH})
set(CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH})
endif()
# Extend Compiler flags based on build type
string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE)
if("${CMAKE_BUILD_TYPE}" STREQUAL debug)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ggdb")
set(CMAKE_BUILD_TYPE "debug")
else()
set(CMAKE_CXX_FLAGS "-std=c++11 -O2")
set(CMAKE_BUILD_TYPE "release")
endif()
#
# Set the remaining compiler flags
#
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
# Extend Compiler flags based on Processor architecture
if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64")
set(NBIT 64)
set(NBITSTR "64")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64 -msse -msse2")
elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86")
set(NBIT 32)
set(NBITSTR "")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-math-errno")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fms-extensions")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmerge-all-constants")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-threadsafe-statics")
# Set project requirements
set(ROC_THUNK_NAME "hsakmt")
set(CORE_RUNTIME_NAME "hsa-runtime")
set(ROC_THUNK_LIBRARY "lib${ROC_THUNK_NAME}")
set(CORE_RUNTIME_TARGET "${CORE_RUNTIME_NAME}64")
set(CORE_RUNTIME_LIBRARY "lib${CORE_RUNTIME_TARGET}")
# Determine Roc Runtime header files are accessible
if(NOT EXISTS ${ROCR_INC_DIR}/hsa/hsa.h)
message("ERROR: ROC Runtime headers can't be found under specified path")
RETURN()
endif()
if(NOT EXISTS ${ROCR_LIB_DIR}/${CORE_RUNTIME_LIBRARY}.so)
message("ERROR: ROC Runtime libraries can't be found under sprcified path")
RETURN()
endif()
# Basic Tool Chain Information
message(" ")
message("----------------NBIT: ${NBIT}")
message("-----------BuildType: ${CMAKE_BUILD_TYPE}")
message("------------Compiler: ${CMAKE_CXX_COMPILER}")
message("----Compiler-Version: ${CMAKE_CXX_COMPILER_VERSION}")
message("-----HSA-Runtime-Inc: ${ROCR_INC_DIR}")
message("-----HSA-Runtime-Lib: ${ROCR_LIB_DIR}")
message("-----CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")
message("---CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}")
message(" ")
set(PROJECT_NAME "rocm_bandwidth_test")
set(TEST_NAME "${PROJECT_NAME}")
project(${PROJECT_NAME})
INCLUDE_DIRECTORIES(${ROCR_INC_DIR})
......@@ -94,5 +146,5 @@ LINK_DIRECTORIES(${ROCR_LIB_DIR})
aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} Src)
add_executable(${TEST_NAME} ${Src})
target_link_libraries(${TEST_NAME} ${CORE_RUNTIME_TARGET} c stdc++ dl pthread rt )
target_link_libraries(${TEST_NAME} ${CORE_RUNTIME_TARGET} ${ROC_THUNK_NAME} c stdc++ dl pthread rt)
......@@ -46,7 +46,7 @@ void error_check(hsa_status_t hsa_error_code, int line_num, const char* str) {
if (hsa_error_code != HSA_STATUS_SUCCESS &&
hsa_error_code != HSA_STATUS_INFO_BREAK) {
printf("HSA Error Found! In file: %s; At line: %d\n", str, line_num);
const char* string = nullptr;
const char* string = NULL;
hsa_status_string(hsa_error_code, &string);
printf("Error: %s\n", string);
exit(EXIT_FAILURE);
......
......@@ -47,6 +47,7 @@
#include <iostream>
#include <vector>
#include <cmath>
#include <stdio.h>
#include "hsa/hsa.h"
#include "hsa/hsa_ext_amd.h"
......
......@@ -425,7 +425,7 @@ void RocmBandwidthTest::RunCopyBenchmark(async_trans_t& trans) {
buf_dst_fwd, buf_dst_rev, signal_fwd, signal_rev);
if (validate_) {
hsa_signal_t fake_signal{0};
hsa_signal_t fake_signal = {0};
ReleaseBuffers(false, validation_src, NULL,
validation_dst, NULL, validation_signal, fake_signal);
}
......
......@@ -73,7 +73,7 @@ bool RocmBandwidthTest::BuildReadOrWriteTrans(uint32_t req_type,
// Agent has access, build an instance of transaction
// and add it to the list of transactions
async_trans_t trans(req_type);
trans.kernel.code_ = nullptr;
trans.kernel.code_ = NULL;
trans.kernel.pool_ = pool;
trans.kernel.pool_idx_ = pool_idx;
trans.kernel.agent_ = exec_agent;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment