P4 to Git Change 1398063 by lmoriche@lmoriche_opencl_dev2 on 2017/04/13 12:12:33

SWDEV-102733 - [OCL-LC-ROCm] Cmake build Write CMakeLists.txt to enable building with and without the DK environment
	- Make it possible to build with libstdc++

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_svm.cpp#19 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/loaders/elf/utils/libelf/memfile.cpp#3 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/appprofile.cpp#16 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/roccompiler.cpp#31 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.hpp#19 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#63 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.hpp#22 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/memory.cpp#126 edit
... //depot/stg/opencl/drivers/opencl/runtime/thread/semaphore.cpp#9 edit


[ROCm/clr commit: a615e4fbb6]
Этот коммит содержится в:
foreman
2017-04-13 12:17:47 -04:00
родитель 2b2c709a6b
Коммит 211ca254bf
8 изменённых файлов: 31 добавлений и 20 удалений
+1
Просмотреть файл
@@ -9,6 +9,7 @@
#include <fcntl.h>
#include <algorithm>
#include <vector>
#include <cstring>
#if defined(__GNUC__)
#include <unistd.h>
+1
Просмотреть файл
@@ -8,6 +8,7 @@
#include "appprofile.hpp"
#include "adl.h"
#include <cstdlib>
#include <cstring>
#ifdef BRAHMA
extern int SearchProfileOfAnApplication(const wchar_t* fileName, ADLApplicationProfile ** lppProfile);
+17 -9
Просмотреть файл
@@ -7,6 +7,7 @@
#include <sstream>
#include <fstream>
#include <iostream>
#include <iterator>
#include "os/os.hpp"
#include "rocdevice.hpp"
@@ -52,7 +53,7 @@ HSAILProgram::compileImpl_LC(
amd::option::Options* options)
{
using namespace amd::opencl_driver;
std::auto_ptr<Compiler> C(newCompilerInstance());
std::unique_ptr<Compiler> C(newCompilerInstance());
std::vector<Data*> inputs;
Data* input = C->NewBufferReference(DT_CL,
@@ -390,24 +391,31 @@ checkLLVM_BIN()
}
}
#if defined(DEBUG)
std::string clangExe(llvmBin_ + "/clang");
struct stat buf;
if (stat(clangExe.c_str(), &buf)) {
std::string msg("Could not find the Clang binary in " + llvmBin_);
LogWarning(msg.c_str());
static const std::string tools[] = { "clang", "llvm-link", "ld.lld" };
for (const std::string tool : tools) {
std::string exePath(llvmBin_ + "/" + tool);
struct stat buf;
if (stat(exePath.c_str(), &buf)) {
std::string msg(exePath + " not found");
LogWarning(msg.c_str());
}
else if ((buf.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)) == 0) {
std::string msg("Cannot execute " + exePath);
LogWarning(msg.c_str());
}
}
#endif // defined(DEBUG)
}
#endif // defined(ATI_OS_LINUX)
std::auto_ptr<amd::opencl_driver::Compiler>
amd::opencl_driver::Compiler*
HSAILProgram::newCompilerInstance()
{
#if defined(ATI_OS_LINUX)
pthread_once(&once, checkLLVM_BIN);
#endif // defined(ATI_OS_LINUX)
return std::auto_ptr<amd::opencl_driver::Compiler>(
amd::opencl_driver::CompilerFactory().CreateAMDGPUCompiler(llvmBin_));
return amd::opencl_driver::CompilerFactory().CreateAMDGPUCompiler(llvmBin_);
}
#endif // defined(WITH_LIGHTNING_COMPILER)
+1
Просмотреть файл
@@ -31,6 +31,7 @@
#include <iostream>
#include <vector>
#include <memory>
/*! \addtogroup HSA
* @{
+3 -2
Просмотреть файл
@@ -29,6 +29,7 @@
#include <sstream>
#include <iostream>
#include <istream>
#include <iterator>
namespace roc {
@@ -479,7 +480,7 @@ HSAILProgram::linkImpl_LC(
bool createLibrary)
{
using namespace amd::opencl_driver;
std::auto_ptr<Compiler> C(newCompilerInstance());
std::unique_ptr<Compiler> C(newCompilerInstance());
std::vector<Data*> inputs;
for (auto program : (const std::vector<HSAILProgram*>&)inputPrograms) {
@@ -681,7 +682,7 @@ bool
HSAILProgram::linkImpl_LC(amd::option::Options *options)
{
using namespace amd::opencl_driver;
std::auto_ptr<Compiler> C(newCompilerInstance());
std::unique_ptr<Compiler> C(newCompilerInstance());
// call LinkLLVMBitcode
std::vector<Data*> inputs;
+1 -1
Просмотреть файл
@@ -175,7 +175,7 @@ private:
#if defined(WITH_LIGHTNING_COMPILER)
CodeObjectMD* metadata_; //!< Runtime metadata
//! Return a new transient compiler instance.
static std::auto_ptr<amd::opencl_driver::Compiler> newCompilerInstance();
static amd::opencl_driver::Compiler* newCompilerInstance();
#endif // defined(WITH_LIGHTNING_COMPILER)
};
+6 -7
Просмотреть файл
@@ -87,12 +87,12 @@ Memory::Memory(
, isParent_(false)
, vDev_(NULL)
, forceSysMemAlloc_(false)
, mapCount_(0)
, svmHostAddress_(svmPtr)
, svmPtrCommited_(false)
, canBeCached_(true)
, lockMemoryOps_("Memory Ops Lock", true)
{
std::atomic_init(&mapCount_, 0u);
}
Memory::Memory(
@@ -117,6 +117,7 @@ Memory::Memory(
, isParent_(false)
, vDev_(NULL)
, forceSysMemAlloc_(false)
, mapCount_(0)
, svmHostAddress_(parent.getSvmPtr())
, svmPtrCommited_(parent.isSvmPtrCommited())
, canBeCached_(true)
@@ -144,8 +145,6 @@ Memory::Memory(
(CL_MEM_HOST_READ_ONLY | CL_MEM_HOST_WRITE_ONLY |
CL_MEM_HOST_NO_ACCESS);
}
std::atomic_init(&mapCount_, 0u);
}
void
@@ -1284,11 +1283,11 @@ static int
round_to_even(float v)
{
// clamp overflow
if (v >= -(float)INT_MIN) {
return INT_MAX;
if (v >= -(float)std::numeric_limits<int>::min()) {
return std::numeric_limits<int>::max();
}
if (v <= (float)INT_MIN) {
return INT_MIN;
if (v <= (float)std::numeric_limits<int>::min()) {
return std::numeric_limits<int>::min();
}
static const unsigned int magic[2] = { 0x4b000000u, 0xcb000000u };
+1 -1
Просмотреть файл
@@ -15,8 +15,8 @@
namespace amd {
Semaphore::Semaphore()
: state_(0)
{
std::atomic_init(&state_, 0);
#ifdef _WIN32
handle_ = static_cast<void*>(CreateSemaphore(NULL, 0, LONG_MAX, NULL));
assert(handle_ != NULL && "CreateSemaphore failed");