heterodb / pg-strom

PG-Strom - Master development repository
http://heterodb.github.io/pg-strom/
Other
1.29k stars 162 forks source link

Revisit OpenCL support #245

Closed ghost closed 6 years ago

ghost commented 8 years ago

Could you revisit the OpenCL implementation in the current landscape (2016)?

Maybe things have improved.

Worst case, ignore *ntel and focus on AMD/Nvidia.

ghost commented 8 years ago

GPUOpen is being pushed a lot: http://gpuopen.com/

ghost commented 8 years ago

HIP : C++ Heterogeneous-Compute Interface for Portability http://gpuopen.com/compute-product/hip-convert-cuda-to-portable-c-code/

OpenCL for AMD CUDA for NVIDIA WIN / WIN

ghost commented 8 years ago

From the link: "To further reduce the learning curve when moving from Cuda to HIP, we developed the hipify tool to automate your application’s core conversion."

kaigai commented 8 years ago

I have to go through the shortest way to provide a working, (minimum) valuable and stable software for users; prior to the project dead. We already built many stuff on CUDA, and have been evaluated with not a small use cases. If we would move to other infrastructure, it clearly make the day of "v1.0" delayed.

I can understand the demand, however, it is unavailable to accept at this moment.

ghost commented 8 years ago

I completely understand.

Hopefully after v1.0 releases.

Just reposting the information for future reference:

HIP : C++ Heterogeneous-Compute Interface for Portability | GPUOpen

From the link:

AMD, a strong proponent of open source and open standards, has created a new tool that will allow developers to write applications to a common C++ syntax and API. The resulting C++ code can be compiled with AMD’s HCC and Nvidia’s NVCC, using the best compilers and tools on the respective hardware. This new Heterogeneous-Compute Interface for Portability (HIP) gives customers more hardware and development-tool options. Important benefits include the following:

  • Developers can code in C++, as well as mix host and device C++ code in their source files. HIP source code can use a rich set of C++ features including templates, lambdas, classes, and namespaces.
  • HIP source code compiles for either AMD or other vendor platforms. On other vendor platforms, HIP delivers performance similar to what you can achieve by coding directly in the native APIs. It implements architecture-specific optimizations through conditional compilation for either platform – the bulk of the code stays portable and developers can specialize where necessary.
  • Because both Cuda® and HIP are C++ languages, porting from Cuda to HIP is much easier than porting from Cuda to OpenCL™.
  • To further reduce the learning curve when moving from Cuda to HIP, we developed the hipify tool to automate your application’s core conversion.
  • HIP is an open source project, and we look forward to having the community help us drive its future design and make contributions to the API. We encourage pull requests and welcome contributions to address “up-for-grabs” issues listed on the GitHub site.

Thanks for your time.

kaigai commented 6 years ago

https://github.com/heterodb/pg-strom/wiki/003:-Development-Roadmap#features-we-shall-not-support