OpenCL4OpenFoam Code
OpenCL GPU computation sparse matrix solver for OpenFoam
Brought to you by:
qingfengxia
************************************************ **** clFoam Readme **** ************************************************ Version 0.1 Date June 1, 2011 Table of Contents ------------------ 1. Project Layout 2. Requirements 3. Installation 4. Authors and Contact A. License ----------------- 1. Project Layout # file system structure of the project generated by command: there are 3 projects(subfolders) in clFoam clUtils/ basic vector csrMatrix operation written by author (BSD licensed) Tested and profiled on AMD_STREAM_SDK, SP on GPU and DP on CPU clFoam/ solver based on clUtils/ (GPLv3 licensed) Tested and profiled on AMD_STREAM_SDK , single precison on GPU vclFoam/ a wrapper to call viennaCL blas solver (GPLv3 licensed) Not finished, there is a bug # other resouce included doc/ some useful documents, tutorials, install manuals bin/ some bash scripts SpeedITOFPlugin1.1/ is downloaded from SpeedIT toolkit website and edited for SP support **** USABILITY******* (1)clUtils : single precision works for both AMD and NV GPU (see profilingDatasheet.xls in profiling data/) double precision past the test on openCL via GPU double precision on cuda 3.1, fails for "OUT_OF_RESOURCE" double precision NOT work properly on Tesla C2050 Cuda 3.1 (2)clFoam is usable for only single precison on GPU, clPCG and clPBiCG For double precision, it should work but still buggy. I did not have hardware handy for debug, only ssh assess to the remote cluster without upgrade to CUDA 4.0 (3)vclFoam is totally not usable, As vclFoam will be not probably faster than clFoam, I do not spend quite a lot time on that plugin **** ***************** --------------- 2. Requirements ----------------- clFoam requires the following: * A recent C++ compiler (e.g. gcc 4.x.x), GCC >4.4 is needed!!! * OpenFoam 1.7.X * OpenCL: For accessing GPUs(shared library and include files) For AMD GPUs, install the AMD_STREAM_SDK SEE installation guide: For Nvida GPUs, CUDA_SDK and CUDA_TOOLKIT SEE installation guide: vclFoam (optional ) * uBLAS : (shipped with the Boost libraries) #sudo apt-get install boost * viennaCL 1.1 header has been put into vclFoam, ----------------- 3. Installation ----------------- the instrall tutorials are put in seperate files: install_vclFoam_guide.txt install_clFoam_guide.txt install_clUtils_guide.txt install_speedIT_class_guide.txt ----------------------- 4. Authors and Contact ------------------------ Qingfeng Xia services@iesensor.com ------------- A. License ------------ clFoam and vclFoam is distributed under GPLv3 License: clUtils is distributed under BSD.