cycles: fix cxx11 usage for cycles_cubin_cc

This commit is contained in:
Ray Molenkamp
2018-02-04 15:11:08 -07:00
parent 36c1122b96
commit f8236e4869

View File

@@ -32,6 +32,15 @@
using std::string; using std::string;
using std::vector; using std::vector;
namespace std {
template<typename T>
std::string to_string(const T &n) {
std::ostringstream s;
s << n;
return s.str();
}
}
class CompilationSettings class CompilationSettings
{ {
public: public:
@@ -75,7 +84,7 @@ bool compile_cuda(CompilationSettings &settings)
for(size_t i = 0; i < settings.defines.size(); i++) { for(size_t i = 0; i < settings.defines.size(); i++) {
options.push_back("-D" + settings.defines[i]); options.push_back("-D" + settings.defines[i]);
} }
options.push_back("-D__KERNEL_CUDA_VERSION__=" + std::to_string(cuewNvrtcVersion()));
options.push_back("-arch=compute_" + std::to_string(settings.target_arch)); options.push_back("-arch=compute_" + std::to_string(settings.target_arch));
options.push_back("--device-as-default-execution-space"); options.push_back("--device-as-default-execution-space");
if(settings.fast_math) if(settings.fast_math)
@@ -150,9 +159,12 @@ bool link_ptxas(CompilationSettings &settings)
" --gpu-name sm_" + std::to_string(settings.target_arch) + " --gpu-name sm_" + std::to_string(settings.target_arch) +
" -m" + std::to_string(settings.bits); " -m" + std::to_string(settings.bits);
if(settings.verbose) if (settings.verbose)
{
ptx += " --verbose"; ptx += " --verbose";
printf(ptx.c_str());
}
int pxresult = system(ptx.c_str()); int pxresult = system(ptx.c_str());
if(pxresult) { if(pxresult) {
fprintf(stderr, "Error: ptxas failed (%x)\n\n", pxresult); fprintf(stderr, "Error: ptxas failed (%x)\n\n", pxresult);