diff --git a/common/debug.hpp b/common/debug.hpp new file mode 100644 index 0000000..99cbd6c --- /dev/null +++ b/common/debug.hpp @@ -0,0 +1,14 @@ +// This file is used for defining debug tools + +#ifndef __DEBUG_TOOL__ +#define __DEBUG_TOOL__ + +#include + +#ifdef DEBUG +#define DEBUG_INFO(...) fprintf(stderr, __VA_ARGS__) +#else +#define DEBUG_INFO(...) +#endif // DEBUG + +#endif diff --git a/compilation/HostTranslation/CMakeLists.txt b/compilation/HostTranslation/CMakeLists.txt index c219077..cf893ac 100644 --- a/compilation/HostTranslation/CMakeLists.txt +++ b/compilation/HostTranslation/CMakeLists.txt @@ -13,6 +13,7 @@ set(LIB_NAME cudaRuntime2cpuRuntime) set(CMAKE_CXX_STANDARD 14) set(CMAKE_BUILD_TYPE Debug) include_directories(./include/x86) +include_directories(../../common) file(GLOB proj_HEADERS "include/x86/*.h") file(GLOB proj_SOURCES "src/x86/*.cpp") diff --git a/compilation/HostTranslation/src/x86/GenerateHostStub.cpp b/compilation/HostTranslation/src/x86/GenerateHostStub.cpp deleted file mode 100644 index dc13bb1..0000000 --- a/compilation/HostTranslation/src/x86/GenerateHostStub.cpp +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Generate a file for Cuda Kernel Function Attributes - * - * - * - * - */ diff --git a/compilation/HostTranslation/src/x86/InitializeDevice.cpp b/compilation/HostTranslation/src/x86/InitializeDevice.cpp deleted file mode 100644 index bf1a435..0000000 --- a/compilation/HostTranslation/src/x86/InitializeDevice.cpp +++ /dev/null @@ -1,6 +0,0 @@ -/* - - Initialize the cudaDevice as first statements if not set by the User - (cudaSetDevice) - -*/ diff --git a/compilation/HostTranslation/src/x86/RemoveCudaBuiltin.cpp b/compilation/HostTranslation/src/x86/RemoveCudaBuiltin.cpp index f92acf5..f74b816 100644 --- a/compilation/HostTranslation/src/x86/RemoveCudaBuiltin.cpp +++ b/compilation/HostTranslation/src/x86/RemoveCudaBuiltin.cpp @@ -2,6 +2,7 @@ * Remove Clang cuda builtin functions and variables */ #include "RemoveCudaBuiltin.h" +#include "debug.hpp" #include "llvm/IR/Function.h" #include "llvm/IR/GlobalValue.h" #include "llvm/IR/IRBuilder.h" @@ -46,8 +47,7 @@ void RemoveCudaBuiltin(llvm::Module *M) { continue; if (Ctors[i]->hasName() && Ctors[i]->getName().str().find("__cuda") == std::string::npos) { - std::cout << "keep: " << Ctors[i]->getName().str() << std::endl - << std::flush; + DEBUG_INFO("keep: %s\n", Ctors[i]->getName().str().c_str()); CAList.push_back(OldCA->getOperand(i)); } } diff --git a/compilation/HostTranslation/src/x86/ReplaceCudaBuiltin.cpp b/compilation/HostTranslation/src/x86/ReplaceCudaBuiltin.cpp index 7352566..b7d0030 100644 --- a/compilation/HostTranslation/src/x86/ReplaceCudaBuiltin.cpp +++ b/compilation/HostTranslation/src/x86/ReplaceCudaBuiltin.cpp @@ -1,4 +1,5 @@ #include "ReplaceCudaBuiltin.h" +#include "debug.hpp" #include "llvm/IR/Function.h" #include "llvm/IR/GlobalValue.h" #include "llvm/IR/IRBuilder.h" @@ -123,8 +124,8 @@ void ReplaceKernelLaunch(llvm::Module *M) { cuda_register_kernel_names.insert( functionOperand->getName().str()); - std::cout << "Cuda Register Global Kernel: " - << functionOperand->getName().str() << std::endl; + DEBUG_INFO("Cuda Register Global Kernel: %s\n", + functionOperand->getName().str().c_str()); } } } @@ -161,10 +162,10 @@ void ReplaceKernelLaunch(llvm::Module *M) { dyn_cast(callOperand->stripPointerCasts()); FunctionType *ft = calledFunction->getFunctionType(); - std::cout << " Parent (Caller) Function Name: " << func_name - << ", cudaLaunchKernel Function: " - << functionOperand->getName().str() << ", args " - << functionOperand->arg_size() << std::endl; + DEBUG_INFO("Parent (Caller) Function Name: %s, " + "cudaLaunchKernel Function: %s, args : %d\n", + func_name, functionOperand->getName().str().c_str(), + functionOperand->arg_size()); auto rep = kernels.find(functionOperand->getName().str()); if (rep != kernels.end()) { Function *FC = rep->second; @@ -205,8 +206,7 @@ void ReplaceKernelLaunch(llvm::Module *M) { newName = newName.substr(i); break; } - - std::cout << "Change Kernel Name to: " << newName << std::endl; + DEBUG_INFO("Change Kernel Name to: %s\n", newName.c_str()); Function *F = Function::Create(FT, Function::ExternalLinkage, newName, M); @@ -225,9 +225,8 @@ void ReplaceKernelLaunch(llvm::Module *M) { // for both cudaKernelLaunch calls and regular function call host_changed = true; calledFunction->setName(calledFunction->getName() + "_host"); - std::cout << std::endl; - std::cout << "Change Host Function Name To: " - << calledFunction->getName().str() << std::endl; + DEBUG_INFO("Change Host Function Name to: %s\n", + calledFunction->getName().str().c_str()); } } } diff --git a/compilation/KernelTranslation/CMakeLists.txt b/compilation/KernelTranslation/CMakeLists.txt index a9b52dd..a5d71b9 100644 --- a/compilation/KernelTranslation/CMakeLists.txt +++ b/compilation/KernelTranslation/CMakeLists.txt @@ -13,6 +13,7 @@ set(LIB_NAME spmd2mpmd) set(CMAKE_CXX_STANDARD 14) set(CMAKE_BUILD_TYPE Debug) include_directories(./include/x86) +include_directories(../../common) file(GLOB proj_HEADERS "include/x86/*.h") file(GLOB proj_SOURCES "src/x86/*.cpp") diff --git a/compilation/KernelTranslation/include/x86/tool.h b/compilation/KernelTranslation/include/x86/tool.h index 7e5947b..b675eed 100644 --- a/compilation/KernelTranslation/include/x86/tool.h +++ b/compilation/KernelTranslation/include/x86/tool.h @@ -5,12 +5,6 @@ #include "llvm/IR/Instructions.h" #include "llvm/IR/Module.h" -#ifdef DEBUG -#define DEBUG_INFO(...) fprintf(stderr, __VA_ARGS__) -#else -#define DEBUG_INFO(...) -#endif // DEBUG - llvm::Module *LoadModuleFromFilr(char *file_name); void DumpModule(llvm::Module *M, char *file_name); bool isKernelFunction(llvm::Module *M, llvm::Function *F); diff --git a/compilation/KernelTranslation/src/x86/generate_x86_format.cpp b/compilation/KernelTranslation/src/x86/generate_x86_format.cpp index 67d23cd..23c97d0 100644 --- a/compilation/KernelTranslation/src/x86/generate_x86_format.cpp +++ b/compilation/KernelTranslation/src/x86/generate_x86_format.cpp @@ -1,4 +1,5 @@ #include "generate_x86_format.h" +#include "debug.hpp" #include "tool.h" #include "llvm/Analysis/TargetLibraryInfo.h" #include "llvm/Analysis/TargetTransformInfo.h" diff --git a/compilation/KernelTranslation/src/x86/handle_sync.cpp b/compilation/KernelTranslation/src/x86/handle_sync.cpp index 44a5876..f9f4b5c 100644 --- a/compilation/KernelTranslation/src/x86/handle_sync.cpp +++ b/compilation/KernelTranslation/src/x86/handle_sync.cpp @@ -1,4 +1,5 @@ #include "handle_sync.h" +#include "debug.hpp" #include "tool.h" #include "llvm/IR/Function.h" #include "llvm/IR/GlobalValue.h" diff --git a/compilation/KernelTranslation/src/x86/init.cpp b/compilation/KernelTranslation/src/x86/init.cpp index 1feedd9..b84fc9f 100644 --- a/compilation/KernelTranslation/src/x86/init.cpp +++ b/compilation/KernelTranslation/src/x86/init.cpp @@ -1,4 +1,5 @@ #include "init.h" +#include "debug.hpp" #include "memory_hierarchy.h" #include "tool.h" #include diff --git a/compilation/KernelTranslation/src/x86/insert_sync.cpp b/compilation/KernelTranslation/src/x86/insert_sync.cpp index f04fd5a..aa2be0c 100644 --- a/compilation/KernelTranslation/src/x86/insert_sync.cpp +++ b/compilation/KernelTranslation/src/x86/insert_sync.cpp @@ -1,5 +1,6 @@ #include "insert_sync.h" #include "assert.h" +#include "debug.hpp" #include "handle_sync.h" #include "tool.h" #include "llvm/ADT/SmallVector.h" diff --git a/compilation/KernelTranslation/src/x86/insert_warp_loop.cpp b/compilation/KernelTranslation/src/x86/insert_warp_loop.cpp index 6d3b997..ec2bcab 100644 --- a/compilation/KernelTranslation/src/x86/insert_warp_loop.cpp +++ b/compilation/KernelTranslation/src/x86/insert_warp_loop.cpp @@ -1,5 +1,6 @@ #include "insert_warp_loop.h" +#include "debug.hpp" #include "handle_sync.h" #include "tool.h" #include diff --git a/compilation/KernelTranslation/src/x86/memory_hierarchy.cpp b/compilation/KernelTranslation/src/x86/memory_hierarchy.cpp index 7c2bcd2..569b30c 100644 --- a/compilation/KernelTranslation/src/x86/memory_hierarchy.cpp +++ b/compilation/KernelTranslation/src/x86/memory_hierarchy.cpp @@ -1,4 +1,5 @@ #include "memory_hierarchy.h" +#include "debug.hpp" #include "llvm/IR/CFG.h" #include "llvm/IR/Function.h" #include "llvm/IR/GlobalValue.h" diff --git a/compilation/KernelTranslation/src/x86/performance.cpp b/compilation/KernelTranslation/src/x86/performance.cpp index 57bba6e..2d79384 100644 --- a/compilation/KernelTranslation/src/x86/performance.cpp +++ b/compilation/KernelTranslation/src/x86/performance.cpp @@ -1,4 +1,5 @@ #include "performance.h" +#include "debug.hpp" #include "tool.h" #include "llvm/ADT/Statistic.h" #include "llvm/ADT/StringRef.h" diff --git a/compilation/KernelTranslation/src/x86/tool.cpp b/compilation/KernelTranslation/src/x86/tool.cpp index 3b52c77..2ef85ed 100644 --- a/compilation/KernelTranslation/src/x86/tool.cpp +++ b/compilation/KernelTranslation/src/x86/tool.cpp @@ -1,4 +1,5 @@ #include "tool.h" +#include "debug.hpp" #include "llvm/Bitcode/BitcodeWriter.h" #include "llvm/Config/llvm-config.h" #include "llvm/IR/Constants.h" diff --git a/compilation/KernelTranslation/src/x86/warp_func.cpp b/compilation/KernelTranslation/src/x86/warp_func.cpp index 50b7320..d388f11 100644 --- a/compilation/KernelTranslation/src/x86/warp_func.cpp +++ b/compilation/KernelTranslation/src/x86/warp_func.cpp @@ -1,5 +1,6 @@ #include "warp_func.h" +#include "debug.hpp" #include "tool.h" #include "llvm/IR/Function.h" #include "llvm/IR/GlobalValue.h"