# Problem with CUDA backend

**URL:** <https://pyfr.discourse.group/t/problem-with-cuda-backend/306>\
**Category:** General\
**Created:** [26 October 2020 10:04 UTC](https://pyfr.discourse.group/t/problem-with-cuda-backend/306 "2020-10-26T10:04:02Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Amir.Matin](https://avatars.discourse-cdn.com/v4/letter/a/4bbf92/32.png) [@Amir.Matin](https://pyfr.discourse.group/u/Amir.Matin)\
**Post date:** [26 October 2020 10:04 UTC](https://pyfr.discourse.group/t/problem-with-cuda-backend/306/1 "2020-10-26T10:04:02Z")

</div>

Dear PyFR Developers,

I am trying to run a simulation with CUDA backend on 12 GPUs. However I get the following error:

Traceback (most recent call last):  
File “/rwthfs/rz/cluster/home/am073751/PyFR/ENV4/lib/python3.7/site-packages/pyfr/util.py”, line 33, in **call**  
res = cache[key]  
KeyError: (\<function CUDAKernelProvider._build\_kernel at 0x2b76ca4d9268\>, b’\x80\x03X\x08\x00\x00\x00mpicfluxq\x00X3&\x00\x00\n\n// AoSoA macros\n#define SOA\_SZ 32\n#define SOA\_IX(a, v, nv) ((((a) / SOA\_SZ)(nv) + (v))SOA\_SZ + (a) % SOA\_SZ)\n\n// Typedefs\ntypedef double fpdtype\_t;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\_\_global\_ void mpicflux(int \_nx, fpdtype\_t **restrict** gradul\_v, const int_ **restrict** gradul\_vix, const int\* **restrict** gradul\_vrstri, const fpdtype\_t\* **restrict** magnl\_v, const fpdtype\_t\* **restrict** nl\_v, int ldnl, fpdtype\_t\* **restrict** ul\_v, const int\* **restrict** ul\_vix, fpdtype\_t\* **restrict** ur\_v)\n {\n int _x = blockIdx.x\*blockDim.x + threadIdx.x;\n #define X\_IDX (x)\n #define X\_IDX\_AOSOA(v, nv) SOA\_IX(X\_IDX, v, nv)\n if (x \< nx)\n {\n \n // Perform the Riemann solve\n fpdtype\_t ficomm[5], fvcomm;\n {\n\n // Compute the left and right fluxes + velocities and pressures\n fpdtype\_t fl[3][5], fr[3][5];\n fpdtype\_t vl[3], vr_[3];\n fpdtype\_t pl\_, pr\_;\n\n {\n\n fpdtype\_t invrho\_\_ = 1.0/ul\_v[ul\_vix[X\_IDX] + SOA\_SZ\*(0)], E\_\_ = ul\_v[ul\_vix[X\_IDX] + SOA\_SZ\*(4)];\n\n // Compute the velocities\n fpdtype\_t rhov\_\_[3];\n rhov\_\_[0] = ul\_v[ul\_vix[X\_IDX] + SOA\_SZ\*(1)];\n vl\_[0] = invrho\_\__rhov\_\_[0];\n rhov\_\_[1] = ul\_v[ul\_vix[X\_IDX] + SOA\_SZ_(2)];\n vl\_[1] = invrho\_\__rhov\_\_[1];\n rhov\_\_[2] = ul\_v[ul\_vix[X\_IDX] + SOA\_SZ_(3)];\n vl\_[2] = invrho\_\__rhov\_\_[2];\n\n // Compute the pressure\n pl\_ = 0.3999999999999999_(E\_\_ - 0.5_invrho\_\__((rhov\_\_[0])_(rhov\_\_[0]) + (rhov\_\_[1])_(rhov\_\_[1]) + (rhov\_\_[2])_(rhov\_\_[2])));\n\n // Density and energy fluxes\n fl\_[0][0] = rhov\_\_[0];\n fl\_[0][4] = (E\_\_ + pl\_)vl\_[0];\n fl\_[1][0] = rhov\_\_[1];\n fl\_[1][4] = (E\_\_ + pl\_)vl\_[1];\n fl\_[2][0] = rhov\_\_[2];\n fl\_[2][4] = (E\_\_ + pl\_)vl\_[2];\n\n // Momentum fluxes\n fl\_[0][1] = rhov\_\_[0]vl\_[0] + pl\_;\n fl\_[0][2] = rhov\_\_[0]vl\_[1];\n fl\_[0][3] = rhov\_\_[0]vl\_[2];\n fl\_[1][1] = rhov\_\_[1]vl\_[0];\n fl\_[1][2] = rhov\_\_[1]vl\_[1] + pl\_;\n fl\_[1][3] = rhov\_\_[1]vl\_[2];\n fl\_[2][1] = rhov\_\_[2]vl\_[0];\n fl\_[2][2] = rhov\_\_[2]vl\_[1];\n fl\_[2][3] = rhov\_\_[2]vl\_[2] + pl\_;\n\n};\n {\n\n fpdtype\_t invrho\_\_ = 1.0/ur\_v[\_nx(0) + X\_IDX], E\_\_ = ur\_v[\_nx(4) + X\_IDX];\n\n // Compute the velocities\n fpdtype\_t rhov\_\_[3];\n rhov\_\_[0] = ur\_v[\_nx(1) + X\_IDX];\n vr\_[0] = invrho\_\_rhov\_\_[0];\n rhov\_\_[1] = ur\_v[\_nx(2) + X\_IDX];\n vr\_[1] = invrho\_\_rhov\_\_[1];\n rhov\_\_[2] = ur\_v[\_nx(3) + X\_IDX];\n vr\_[2] = invrho\_\_rhov\_\_[2];\n\n // Compute the pressure\n pr\_ = 0.3999999999999999(E\_\_ - 0.5invrho\_\_((rhov\_\_[0])(rhov\_\_[0]) + (rhov\_\_[1])(rhov\_\_[1]) + (rhov\_\_[2])(rhov\_\_[2])));\n\n // Density and energy fluxes\n fr\_[0][0] = rhov\_\_[0];\n fr\_[0][4] = (E\_\_ + pr\_)vr\_[0];\n fr\_[1][0] = rhov\_\_[1];\n fr\_[1][4] = (E\_\_ + pr\_)vr\_[1];\n fr\_[2][0] = rhov\_\_[2];\n fr\_[2][4] = (E\_\_ + pr\_)vr\_[2];\n\n // Momentum fluxes\n fr\_[0][1] = rhov\_\_[0]vr\_[0] + pr\_;\n fr\_[0][2] = rhov\_\_[0]vr\_[1];\n fr\_[0][3] = rhov\_\_[0]vr\_[2];\n fr\_[1][1] = rhov\_\_[1]vr\_[0];\n fr\_[1][2] = rhov\_\_[1]vr\_[1] + pr\_;\n fr\_[1][3] = rhov\_\_[1]vr\_[2];\n fr\_[2][1] = rhov\_\_[2]vr\_[0];\n fr\_[2][2] = rhov\_\_[2]vr\_[1];\n fr\_[2][3] = rhov\_\_[2]vr\_[2] + pr\_;\n\n};\n\n // Sum the left and right velocities and take the normal\n fpdtype\_t nv\_ = ((nl\_v[ldnl(0) + X\_IDX])(vl\_[0] + vr\_[0]) + (nl\_v[ldnl(1) + X\_IDX])(vl\_[1] + vr\_[1]) + (nl\_v[ldnl(2) + X\_IDX])(vl\_[2] + vr\_[2]));\n\n // Estimate the maximum wave speed / 2\n fpdtype\_t a\_ = sqrt(0.35(pl\_ + pr\_)/(ul\_v[ul\_vix[X\_IDX] + SOA\_SZ(0)] + ur\_v[\_nx(0) + X\_IDX]))\n + 0.25fabs(nv\_);\n\n // Output\n ficomm[0] = 0.5(nl\_v[ldnl(0) + X\_IDX](fl\_[0][0] + fr\_[0][0]) + nl\_v[ldnl(1) + X\_IDX](fl\_[1][0] + fr\_[1][0]) + nl\_v[ldnl(2) + X\_IDX]_(fl\_[2][0] + fr\_[2][0]))\n + a\__(ul\_v[ul\_vix[X\_IDX] + SOA\_SZ_(0)] - ur\_v[_nx\*(0) + X\_IDX]);\n ficomm[1] = 0.5\*(nl\_v[ldnl\*(0) + X\_IDX]\*(fl_[0][1] + fr\_[0][1]) + nl\_v[ldnl\*(1) + X\_IDX]_(fl\_[1][1] + fr\_[1][1]) + nl\_v[ldnl_(2) + X\_IDX]_(fl\_[2][1] + fr\_[2][1]))\n + a\__(ul\_v[ul\_vix[X\_IDX] + SOA\_SZ\*(1)] - ur\_v[_nx\*(1) + X\_IDX]);\n ficomm[2] = 0.5\*(nl\_v[ldnl\*(0) + X\_IDX]\*(fl_[0][2] + fr\_[0][2]) + nl\_v[ldnl\*(1) + X\_IDX]_(fl\_[1][2] + fr\_[1][2]) + nl\_v[ldnl_(2) + X\_IDX]_(fl\_[2][2] + fr\_[2][2]))\n + a\__(ul\_v[ul\_vix[X\_IDX] + SOA\_SZ\*(2)] - ur\_v[_nx\*(2) + X\_IDX]);\n ficomm[3] = 0.5\*(nl\_v[ldnl\*(0) + X\_IDX]\*(fl_[0][3] + fr\_[0][3]) + nl\_v[ldnl\*(1) + X\_IDX]_(fl\_[1][3] + fr\_[1][3]) + nl\_v[ldnl_(2) + X\_IDX]_(fl\_[2][3] + fr\_[2][3]))\n + a\__(ul\_v[ul\_vix[X\_IDX] + SOA\_SZ\*(3)] - ur\_v[_nx\*(3) + X\_IDX]);\n ficomm[4] = 0.5\*(nl\_v[ldnl\*(0) + X\_IDX]\*(fl_[0][4] + fr\_[0][4]) + nl\_v[ldnl\*(1) + X\_IDX]_(fl\_[1][4] + fr\_[1][4]) + nl\_v[ldnl_(2) + X\_IDX]_(fl\_[2][4] + fr\_[2][4]))\n + a\__(ul\_v[ul\_vix[X\_IDX] + SOA\_SZ\*(4)] - ur\_v[_nx\*(4) + X\_IDX]);\n\n};\n\n fpdtype\_t fvl[3][5] = {{0}};\n {\n\n fpdtype\_t rho_ = ul\_v[ul\_vix[X\_IDX] + SOA\_SZ\*(0)];\n fpdtype\_t rhou\_ = ul\_v[ul\_vix[X\_IDX] + SOA\_SZ\*(1)], rhov\_ = ul\_v[ul\_vix[X\_IDX] + SOA\_SZ\*(2)], rhow\_ = ul\_v[ul\_vix[X\_IDX] + SOA\_SZ\*(3)];\n fpdtype\_t E\_ = ul\_v[ul\_vix[X\_IDX] + SOA\_SZ\*(4)];\n\n fpdtype\_t rcprho\_ = 1.0/rho\_;\n fpdtype\_t u\_ = rcprho\__rhou\_, v\_ = rcprho\_rhov\_, w\_ = rcprho\_rhow\_;\n\n fpdtype\_t rho\_x\_ = gradul\_v[gradul\_vix[X\_IDX] + gradul\_vrstri[X\_IDX](0) + SOA\_SZ(0)];\n fpdtype\_t rho\_y\_ = gradul\_v[gradul\_vix[X\_IDX] + gradul\_vrstri[X\_IDX]_(1) + SOA\_SZ\*(0)];\n fpdtype\_t rho\_z\_ = gradul\_v[gradul\_vix[X\_IDX] + gradul\_vrstri[X\_IDX]_(2) + SOA\_SZ_(0)];\n\n // Velocity derivatives (rho\__grad[u\_,v\_,w\_])\n fpdtype\_t u\_x\_ = gradul\_v[gradul\_vix[X\_IDX] + gradul\_vrstri[X\_IDX]_(0) + SOA\_SZ\*(1)] - u\__rho\_x\_;\n fpdtype\_t u\_y\_ = gradul\_v[gradul\_vix[X\_IDX] + gradul\_vrstri[X\_IDX]_(1) + SOA\_SZ\*(1)] - u\__rho\_y\_;\n fpdtype\_t u\_z\_ = gradul\_v[gradul\_vix[X\_IDX] + gradul\_vrstri[X\_IDX]_(2) + SOA\_SZ\*(1)] - u\__rho\_z\_;\n fpdtype\_t v\_x\_ = gradul\_v[gradul\_vix[X\_IDX] + gradul\_vrstri[X\_IDX]_(0) + SOA\_SZ\*(2)] - v\__rho\_x\_;\n fpdtype\_t v\_y\_ = gradul\_v[gradul\_vix[X\_IDX] + gradul\_vrstri[X\_IDX]_(1) + SOA\_SZ\*(2)] - v\__rho\_y\_;\n fpdtype\_t v\_z\_ = gradul\_v[gradul\_vix[X\_IDX] + gradul\_vrstri[X\_IDX]_(2) + SOA\_SZ\*(2)] - v\__rho\_z\_;\n fpdtype\_t w\_x\_ = gradul\_v[gradul\_vix[X\_IDX] + gradul\_vrstri[X\_IDX]_(0) + SOA\_SZ\*(3)] - w\__rho\_x\_;\n fpdtype\_t w\_y\_ = gradul\_v[gradul\_vix[X\_IDX] + gradul\_vrstri[X\_IDX]_(1) + SOA\_SZ\*(3)] - w\__rho\_y\_;\n fpdtype\_t w\_z\_ = gradul\_v[gradul\_vix[X\_IDX] + gradul\_vrstri[X\_IDX]_(2) + SOA\_SZ\*(3)] - w\__rho\_z\_;\n\n fpdtype\_t E\_x\_ = gradul\_v[gradul\_vix[X\_IDX] + gradul\_vrstri[X\_IDX]_(0) + SOA\_SZ\*(4)];\n fpdtype\_t E\_y\_ = gradul\_v[gradul\_vix[X\_IDX] + gradul\_vrstri[X\_IDX]_(1) + SOA\_SZ_(4)];\n fpdtype\_t E\_z\_ = gradul\_v[gradul\_vix[X\_IDX] + gradul\_vrstri[X\_IDX]_(2) + SOA\_SZ_(4)];\n\n // Compute the temperature and viscosity\n fpdtype\_t cpT\_ = 1.4\*(rcprho\__E\_ - 0.5_(u\__u\_ + v\_v\_ + w\_w\_));\n fpdtype\_t Trat\_ = 0.4cpT\_;\n fpdtype\_t mu\_c\_ = 4.59985915432e-05Trat\_sqrt(Trat\_)\n / (cpT\_ + 1.270376356);\n\n // Compute temperature derivatives (c\_vdT/d[x,y,z])\n fpdtype\_t T\_x\_ = rcprho\__(E\_x\_ - (rcprho\__rho\_x\_E\_ + u\_u\_x\_ + v\_v\_x\_ + w\_w\_x\_));\n fpdtype\_t T\_y\_ = rcprho\_(E\_y\_ - (rcprho\_rho\_y\_E\_ + u\_u\_y\_ + v\_v\_y\_ + w\_w\_y\_));\n fpdtype\_t T\_z\_ = rcprho\_(E\_z\_ - (rcprho\_rho\_z\_E\_ + u\_u\_z\_ + v\_v\_z\_ + w\_w\_z\_));\n\n // Negated stress tensor elements\n fpdtype\_t t\_xx\_ = -2mu\_c\_rcprho\_(u\_x\_ - 0.3333333333333333(u\_x\_ + v\_y\_ + w\_z\_));\n fpdtype\_t t\_yy\_ = -2mu\_c\_rcprho\_(v\_y\_ - 0.3333333333333333(u\_x\_ + v\_y\_ + w\_z\_));\n fpdtype\_t t\_zz\_ = -2mu\_c\_rcprho\_(w\_z\_ - 0.3333333333333333(u\_x\_ + v\_y\_ + w\_z\_));\n fpdtype\_t t\_xy\_ = -mu\_c\_rcprho\_(v\_x\_ + u\_y\_);\n fpdtype\_t t\_xz\_ = -mu\_c\_rcprho\_(u\_z\_ + w\_x\_);\n fpdtype\_t t\_yz\_ = -mu\_c\_rcprho\_(w\_y\_ + v\_z\_);\n\n fvl[0][1] += t\_xx\_; fvl[1][1] += t\_xy\_; fvl[2][1] += t\_xz\_;\n fvl[0][2] += t\_xy\_; fvl[1][2] += t\_yy\_; fvl[2][2] += t\_yz\_;\n fvl[0][3] += t\_xz\_; fvl[1][3] += t\_yz\_; fvl[2][3] += t\_zz\_;\n\n fvl[0][4] += u\_t\_xx\_ + v\_t\_xy\_ + w\_t\_xz\_ + -mu\_c\_1.9444444444444444T\_x\_;\n fvl[1][4] += u\_t\_xy\_ + v\_t\_yy\_ + w\_t\_yz\_ + -mu\_c\_1.9444444444444444T\_y\_;\n fvl[2][4] += u\_t\_xz\_ + v\_t\_yz\_ + w\_t\_zz\_ + -mu\_c\_1.9444444444444444T\_z\_;\n\n};\n {\n\n\n};\n\n\n fvcomm = nl\_v[ldnl(0) + X\_IDX]fvl[0][0] + nl\_v[ldnl(1) + X\_IDX]fvl[1][0] + nl\_v[ldnl(2) + X\_IDX]fvl[2][0];\n fvcomm += 0.1(ul\_v[ul\_vix[X\_IDX] + SOA\_SZ(0)] - ur\_v[\_nx(0) + X\_IDX]);\n\n ul\_v[ul\_vix[X\_IDX] + SOA\_SZ(0)] = magnl\_v[X\_IDX](ficomm[0] + fvcomm);\n fvcomm = nl\_v[ldnl(0) + X\_IDX]fvl[0][1] + nl\_v[ldnl(1) + X\_IDX]fvl[1][1] + nl\_v[ldnl(2) + X\_IDX]fvl[2][1];\n fvcomm += 0.1(ul\_v[ul\_vix[X\_IDX] + SOA\_SZ(1)] - ur\_v[\_nx(1) + X\_IDX]);\n\n ul\_v[ul\_vix[X\_IDX] + SOA\_SZ(1)] = magnl\_v[X\_IDX](ficomm[1] + fvcomm);\n fvcomm = nl\_v[ldnl(0) + X\_IDX]fvl[0][2] + nl\_v[ldnl(1) + X\_IDX]fvl[1][2] + nl\_v[ldnl(2) + X\_IDX]fvl[2][2];\n fvcomm += 0.1(ul\_v[ul\_vix[X\_IDX] + SOA\_SZ(2)] - ur\_v[\_nx(2) + X\_IDX]);\n\n ul\_v[ul\_vix[X\_IDX] + SOA\_SZ(2)] = magnl\_v[X\_IDX](ficomm[2] + fvcomm);\n fvcomm = nl\_v[ldnl_(0) + X\_IDX]_fvl[0][3] + nl\_v[ldnl_(1) + X\_IDX]_fvl[1][3] + nl\_v[ldnl_(2) + X\_IDX]_fvl[2][3];\n fvcomm += 0.1_(ul\_v[ul\_vix[X\_IDX] + SOA\_SZ\*(3)] - ur\_v[\_nx\*(3) + X\_IDX]);\n\n ul\_v[ul\_vix[X\_IDX] + SOA\_SZ\*(3)] = magnl\_v[X\_IDX]_(ficomm[3] + fvcomm);\n fvcomm = nl\_v[ldnl_(0) + X\_IDX]_fvl[0][4] + nl\_v[ldnl_(1) + X\_IDX]_fvl[1][4] + nl\_v[ldnl_(2) + X\_IDX]_fvl[2][4];\n fvcomm += 0.1_(ul\_v[ul\_vix[X\_IDX] + SOA\_SZ\*(4)] - ur\_v[\_nx\*(4) + X\_IDX]);\n\n ul\_v[ul\_vix[X\_IDX] + SOA\_SZ\*(4)] = magnl\_v[X\_IDX]\*(ficomm[4] + fvcomm);\n\n }\n #undef X\_IDX\n #undef X\_IDX\_AOSOA\n }\n\nq\x01]q\x02(cnumpy\nint32\nq\x03cnumpy\nint64\nq\x04h\x04h\x04h\x04h\x04h\x03h\x04h\x04h\x04e\x87q\x05.’, b’\x80\x03}q\x00.’)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):  
File “/rwthfs/rz/cluster/home/am073751/PyFR/ENV4/bin/pyfr”, line 11, in   
sys.exit(main())  
File “/rwthfs/rz/cluster/home/am073751/PyFR/ENV4/lib/python3.7/site-packages/pyfr/ **main**.py”, line 112, in main  
args.process(args)  
File “/rwthfs/rz/cluster/home/am073751/PyFR/ENV4/lib/python3.7/site-packages/pyfr/ **main**.py”, line 263, in process\_restart  
\_process\_common(args, mesh, soln, cfg)  
File “/rwthfs/rz/cluster/home/am073751/PyFR/ENV4/lib/python3.7/site-packages/pyfr/ **main**.py”, line 226, in \_process\_common  
solver = get\_solver(backend, rallocs, mesh, soln, cfg)  
File “/rwthfs/rz/cluster/home/am073751/PyFR/ENV4/lib/python3.7/site-packages/pyfr/solvers/ **init**.py”, line 16, in get\_solver  
return get\_integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)  
File “/rwthfs/rz/cluster/home/am073751/PyFR/ENV4/lib/python3.7/site-packages/pyfr/integrators/ **init**.py”, line 36, in get\_integrator  
return integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)  
File “/rwthfs/rz/cluster/home/am073751/PyFR/ENV4/lib/python3.7/site-packages/pyfr/integrators/std/controllers.py”, line 80, in **init**  
super(). **init** (\*args, \*\*kwargs)  
File “/rwthfs/rz/cluster/home/am073751/PyFR/ENV4/lib/python3.7/site-packages/pyfr/integrators/std/controllers.py”, line 14, in **init**  
super(). **init** (\*args, \*\*kwargs)  
File “/rwthfs/rz/cluster/home/am073751/PyFR/ENV4/lib/python3.7/site-packages/pyfr/integrators/std/steppers.py”, line 159, in **init**  
super(). **init** (\*args, \*\*kwargs)  
File “/rwthfs/rz/cluster/home/am073751/PyFR/ENV4/lib/python3.7/site-packages/pyfr/integrators/std/base.py”, line 19, in **init**  
nregs=self.nregs, cfg=cfg)  
File “/rwthfs/rz/cluster/home/am073751/PyFR/ENV4/lib/python3.7/site-packages/pyfr/solvers/base/system.py”, line 64, in **init**  
self.\_gen\_kernels(eles, int\_inters, mpi\_inters, bc\_inters)  
File “/rwthfs/rz/cluster/home/am073751/PyFR/ENV4/lib/python3.7/site-packages/pyfr/solvers/base/system.py”, line 193, in \_gen\_kernels  
kernels[pn, kn].append(kgetter())  
File “/rwthfs/rz/cluster/home/am073751/PyFR/ENV4/lib/python3.7/site-packages/pyfr/solvers/navstokes/inters.py”, line 69, in   
magnl=self.\_mag\_pnorm\_lhs, nl=self.\_norm\_pnorm\_lhs  
File “/rwthfs/rz/cluster/home/am073751/PyFR/ENV4/lib/python3.7/site-packages/pyfr/backends/base/backend.py”, line 163, in kernel  
return kern(\*args, \*\*kwargs)  
File “/rwthfs/rz/cluster/home/am073751/PyFR/ENV4/lib/python3.7/site-packages/pyfr/backends/base/kernels.py”, line 162, in kernel\_meth  
fun = self.\_build\_kernel(name, src, list(it.chain(\*argt)))  
File “/rwthfs/rz/cluster/home/am073751/PyFR/ENV4/lib/python3.7/site-packages/pyfr/util.py”, line 35, in **call**  
res = cache[key] = self.func(\*args, \*\*kwargs)  
File “/rwthfs/rz/cluster/home/am073751/PyFR/ENV4/lib/python3.7/site-packages/pyfr/backends/cuda/provider.py”, line 20, in \_build\_kernel  
fun = compiler.SourceModule(src).get\_function(name)  
File “/rwthfs/rz/cluster/home/am073751/PyFR/ENV4/lib/python3.7/site-packages/pycuda/compiler.py”, line 294, in **init**  
self.module = module\_from\_buffer(cubin)  
pycuda.\_driver.LogicError: cuModuleLoadDataEx failed: device kernel image is invalid - error : Binary format for key=‘0’, ident=’’ is not recognized  
application called MPI\_Abort(MPI\_COMM\_WORLD, 1) - process 7

The same case works just fine with OpenMP backend. I was wondering if you could help me with the error.

Regards  
Amir

---

<div class="post-metadata">

**Author:** ![fdw](https://avatars.discourse-cdn.com/v4/letter/f/a587f6/32.png) [@fdw](https://pyfr.discourse.group/u/fdw)\
**Post date:** [26 October 2020 12:40 UTC](https://pyfr.discourse.group/t/problem-with-cuda-backend/306/2 "2020-10-26T12:40:37Z")

</div>

Hi,

---

<div class="post-metadata">

**Author:** ![Amir.Matin](https://avatars.discourse-cdn.com/v4/letter/a/4bbf92/32.png) [@Amir.Matin](https://pyfr.discourse.group/u/Amir.Matin)\
**Post date:** [26 October 2020 16:42 UTC](https://pyfr.discourse.group/t/problem-with-cuda-backend/306/3 "2020-10-26T16:42:33Z")

</div>

Hi,

thanks for your kind reply.  
It did work as I changed the version of CUDA.

Regards  
Amir
