Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cannot run gas dynamic example in GPU #378

Open
samech-git opened this issue Apr 21, 2023 · 0 comments
Open

cannot run gas dynamic example in GPU #378

samech-git opened this issue Apr 21, 2023 · 0 comments

Comments

@samech-git
Copy link

samech-git commented Apr 21, 2023

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant