pypr/pysph

cannot run gas dynamic example in GPU

samech-git opened this issue · 0 comments

Dear pySPH developers,

I would like to express my gratitude for your hard work and dedication in developing pySPH. I have found this software very helpful in performing computational fluid dynamics simulations.

However, I have encountered some issues while attempting to run certain simulations using pySPH in GPU. Specifically, I can run "python cube.py --opencl" correctly, but when attempting to run the Kelvin-Helmholtz instability simulation in the gas dynamics folder using the command "python kelvin_helmholtz_instability.py --opencl", I received an error message: "clBuildProgram failed: BUILD_PROGRAM_FAILURE".

(base) [samech@admin gas_dynamics]$ cat kh.log |grep error -A 2
self._prg, was_cached = self._build_and_catch_errors(
File "/public/home/samech/anaconda3/lib/python3.9/site-packages/pyopencl/init.py", line 580, in _build_and_catch_errors
raise err
pyopencl._cl.RuntimeError: clBuildProgram failed: BUILD_PROGRAM_FAILURE - clBuildProgram failed: BUILD_PROGRAM_FAILURE - clBuildProgram failed: BUILD_PROGRAM_FAILURE
--
:86:19: error: expected expression
dnr = float(m[((nt * rrcol) + rrcol)]);
^
:90:20: error: expected expression
cc = (-float(m[((nt * rr) + rrcol)]) / dnr);
^
--
:154:21: error: overloaded function 'dot' must have the 'overloadable' attribute
WITHIN_KERNEL float dot(float* a, float* b, long n)
^
--
:764:14: error: call to 'min' is ambiguous
tmprij = min(1, ((4 * rij) / ((1 + rij) * (1 + rij))));
^~~
--
:788:11: error: call to 'min' is ambiguous
mui = min(0, tmpmui);
^~~
--
:790:11: error: call to 'min' is ambiguous
muj = min(0, tmpmuj);
^~~
--
:827:19: error: call to 'pow' is ambiguous
d_cs[d_idx] = pow(((self->gamma * d_p[d_idx]) / d_rho[d_idx]), 0.5);
^~~

I have attached the relevant error messages from the log file for your reference. I believe this issue may be related to an ambiguous function call or overloadable attribute in the kernel code, but I am not sure how to proceed with resolving it.

I would greatly appreciate any assistance you can provide in resolving this issue so that I can continue to use pySPH effectively. Thank you for your time and attention.

Sincerely,
Samech
kh.log