-
Notifications
You must be signed in to change notification settings - Fork 10
Dependencies
Main project is to produce a 64-bit Cekirdekler.dll. Everything should be set to x64 code generation.
Main project also uses KutuphaneCL.dll(64 bit again) in run-time that is generated with a C++ sub-project in below repository:
https://github.com/tugrul512bit/CekirdeklerCPP
This C++ project needs same resources as any other OpenCL-Hello-World example. The libraries of OpenCL from graphics card drivers or SDKs. There are many blogs and examples about that:
- https://www.fixstars.com/en/opencl/book/OpenCLProgrammingBook/developing-environment-setup/ (see bottom of page)
- http://developer.amd.com/tools-and-sdks/opencl-zone/opencl-resources/introductory-tutorial-to-opencl/ (look for "building and running" part)
- Even using Intel's "Code-Builder" addon for Visual Studio should work after some tweaks for KutuphaneCL.dll(CekirdeklerCPP).
- https://medium.com/@pratikone/opencl-on-visual-studio-configuration-tutorial-for-the-confused-3ec1c2b5f0ca (a good source)
Then, main project needs System.Threading.dll
which is Microsoft's Parallel.For
backwards compatibility libraries for .Net version 2.0. For now, project is usable with .Net versions 3.5+. Main repository contains these files(but not other dlls, which you generate after compiling Cekirdekler and CekirdeklerCPP). Even works in a .Net 4.6.1 project without problems.
Another important part to remember is that this is an OpenCL 1.2 program since it uses header files of version 1.2.
Developers may need to uncheck "register for COM interop" in Cekirdekler.dll project to let KutuphaneCL.dll's exception message shown with std::cout<<"..."<<std::endl;
Developers have to enable "unsafe" build option in Cekirdekler.dll project because ClArray uses pointer arithmetic to access array elements from C space.
No side-effects has been seen with "optimize" option yet.