Hi, 
I've encountered some problems with trying to use openmp with windows. I've 
followed 
https://groups.google.com/forum/#!searchin/pyfrmailinglist/windows$2010%7Csort:date/pyfrmailinglist/Kaygd-9ni2k/42IqyZfIBAAJ
 for 
the setup for the most part. 

While trying to run 

mpiexec -n 2 pyfr run -b openmp -p euler_vortex_2d.pyfrm euler_vortex_2d.ini

I got the error message 

  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\ctypes\__init__.py", 
line 348, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found

job aborted:
[ranks] message

[0] application aborted
aborting MPI_COMM_WORLD (comm=0x44000000), error 1, comm rank 0

[1] terminated

---- error analysis -----

[0] on BEAST
pyfr aborted the job. abort code 1

---- error analysis -----

I am having really big trouble seeing what this error message means. I 
thought it was missing some dll, but cant figure out at all what dll that 
would be. I've tried reinstalling pyfr from pip and the setup.py, but it 
makes no difference.

Anyone has any idea what is wrong?



(Running on windows 10, microsoft MPI, two xeon cpus, pyfr 1.7.5)


-- 
You received this message because you are subscribed to the Google Groups "PyFR 
Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to pyfrmailinglist+unsubscr...@googlegroups.com.
To post to this group, send an email to pyfrmailinglist@googlegroups.com.
Visit this group at https://groups.google.com/group/pyfrmailinglist.
For more options, visit https://groups.google.com/d/optout.
c:\PyFR-1.7.5\examples\euler_vortex_2d>mpiexec -n 2 pyfr run -b openmp -p 
euler_vortex_2d.pyfrm euler_vortex_2d.ini
C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\h5py\__init__.py:36:
 FutureWarning: Conversion of the second argument of issubdtype from `float` to 
`np.floating` is deprecated. In future, it will be treated as `np.float64 == 
np.dtype(float).type`.
  from ._conv import register_converters as _register_converters
Traceback (most recent call last):
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\util.py",
 line 33, in __call__
KeyError: (<function OpenMPKernelProvider._build_kernel at 0x000001C10B734598>, 
b'\x80\x03X\x05\x00\x00\x00tfluxq\x00X^\x1e\x00\x00\n\n#include 
<omp.h>\n#include <stdlib.h>\n#include <tgmath.h>\n\n#define PYFR_ALIGN_BYTES 
32\n#define SOA_SZ 4\n\n#define min(a, b) ((a) < (b) ? (a) : (b))\n#define 
max(a, b) ((a) > (b) ? (a) : (b))\n\n// Typedefs\ntypedef double 
fpdtype_t;\n\n// OpenMP static loop scheduling functions\n\nstatic inline 
int\ngcd(int a, int b)\n{\n    return (a == 0) ? b : gcd(b % a, 
a);\n}\n\nstatic inline void\nloop_sched_1d(int n, int align, int *b, int 
*e)\n{\n    int tid = omp_get_thread_num();\n    int nth = 
omp_get_num_threads();\n\n    // Round up n to be a multiple of nth\n    int rn 
= n + nth - 1 - (n - 1) % nth;\n\n    // Nominal tile size\n    int sz = rn / 
nth;\n\n    // Handle alignment\n    sz += align - 1 - (sz - 1) % align;\n\n    
// Assign the starting and ending index\n    *b = sz * tid;\n    *e = min(*b + 
sz, n);\n\n    // Clamp\n    if (*b >= n)\n        *b = *e = 0;\n}\n\nstatic 
inline void\nloop_sched_2d(int nrow, int ncol, int colalign,\n              int 
*rowb, int *rowe, int *colb, int *cole)\n{\n    int tid = 
omp_get_thread_num();\n    int nth = omp_get_num_threads();\n\n    // 
Distribute threads\n    int nrowth = gcd(nrow, nth);\n    int ncolth = nth / 
nrowth;\n\n    // Row and column indices for our thread\n    int rowix = tid / 
ncolth;\n    int colix = tid % ncolth;\n\n    // Round up ncol to be a multiple 
of ncolth\n    int rncol = ncol + ncolth - 1 - (ncol - 1) % ncolth;\n\n    // 
Nominal tile size\n    int ntilerow = nrow / nrowth;\n    int ntilecol = rncol 
/ ncolth;\n\n    // Handle column alignment\n    ntilecol += colalign - 1 - 
(ntilecol - 1) % colalign;\n\n    // Assign the starting and ending row to each 
thread\n    *rowb = ntilerow * rowix;\n    *rowe = *rowb + ntilerow;\n\n    // 
Assign the starting and ending column to each thread\n    *colb = ntilecol * 
colix;\n    *cole = min(*colb + ntilecol, ncol);\n\n    // Clamp\n    if (*colb 
>= ncol)\n        *colb = *cole = 0;\n}\n\n\n\n\n\n\n\n\n\nvoid tflux(int _ny, 
int _nx, fpdtype_t* __restrict__ f_v, int ldf, const fpdtype_t* __restrict__ 
smats_v, int ldsmats, const fpdtype_t* __restrict__ u_v, int ldu)\n             
  {\n                   #define X_IDX (_xi + _xj)\n                   #define 
X_IDX_AOSOA(v, nv)                       ((_xi/SOA_SZ*(nv) + (v))*SOA_SZ + 
_xj)\n                   int align = PYFR_ALIGN_BYTES / sizeof(fpdtype_t);\n    
               #pragma omp parallel\n                   {\n                     
  \n                    int rb, re, cb, ce;\n                    
loop_sched_2d(_ny, _nx, align, &rb, &re, &cb, &ce);\n                    int 
nci = ((ce - cb) / SOA_SZ)*SOA_SZ;\n                    for (int _y = rb; _y < 
re; _y++)\n                    {\n                        for (int _xi = cb; 
_xi < cb + nci; _xi += SOA_SZ)\n                        {\n                     
       #pragma omp simd\n                            for (int _xj = 0; _xj < 
SOA_SZ; _xj++)\n                            {\n                                
\n    // Compute the flux\n    fpdtype_t ftemp[2][4];\n    fpdtype_t p, v[2];\n 
   {\n\n    fpdtype_t invrho_ = 1.0/u_v[ldu*_y + X_IDX_AOSOA(0, 4)], E_ = 
u_v[ldu*_y + X_IDX_AOSOA(3, 4)];\n\n    // Compute the velocities\n    
fpdtype_t rhov_[2];\n    rhov_[0] = u_v[ldu*_y + X_IDX_AOSOA(1, 4)];\n    v[0] 
= invrho_*rhov_[0];\n    rhov_[1] = u_v[ldu*_y + X_IDX_AOSOA(2, 4)];\n    v[1] 
= invrho_*rhov_[1];\n\n    // Compute the pressure\n    p = 
0.3999999999999999*(E_ - 0.5*invrho_*((rhov_[0])*(rhov_[0]) + 
(rhov_[1])*(rhov_[1])));\n\n    // Density and energy fluxes\n    ftemp[0][0] = 
rhov_[0];\n    ftemp[0][3] = (E_ + p)*v[0];\n    ftemp[1][0] = rhov_[1];\n    
ftemp[1][3] = (E_ + p)*v[1];\n\n    // Momentum fluxes\n    ftemp[0][1] = 
rhov_[0]*v[0] + p;\n    ftemp[0][2] = rhov_[0]*v[1];\n    ftemp[1][1] = 
rhov_[1]*v[0];\n    ftemp[1][2] = rhov_[1]*v[1] + p;\n\n};\n\n    // Transform 
the fluxes\n    f_v[(0*_ny + _y)*ldf + X_IDX_AOSOA(0, 4)] = smats_v[(0*_ny + 
_y)*ldsmats + X_IDX_AOSOA(0, 2)]*ftemp[0][0] + smats_v[(0*_ny + _y)*ldsmats + 
X_IDX_AOSOA(1, 2)]*ftemp[1][0];\n    f_v[(0*_ny + _y)*ldf + X_IDX_AOSOA(1, 4)] 
= smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 2)]*ftemp[0][1] + 
smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(1, 2)]*ftemp[1][1];\n    f_v[(0*_ny 
+ _y)*ldf + X_IDX_AOSOA(2, 4)] = smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 
2)]*ftemp[0][2] + smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(1, 
2)]*ftemp[1][2];\n    f_v[(0*_ny + _y)*ldf + X_IDX_AOSOA(3, 4)] = 
smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 2)]*ftemp[0][3] + smats_v[(0*_ny 
+ _y)*ldsmats + X_IDX_AOSOA(1, 2)]*ftemp[1][3];\n    f_v[(1*_ny + _y)*ldf + 
X_IDX_AOSOA(0, 4)] = smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 
2)]*ftemp[0][0] + smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(1, 
2)]*ftemp[1][0];\n    f_v[(1*_ny + _y)*ldf + X_IDX_AOSOA(1, 4)] = 
smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 2)]*ftemp[0][1] + smats_v[(1*_ny 
+ _y)*ldsmats + X_IDX_AOSOA(1, 2)]*ftemp[1][1];\n    f_v[(1*_ny + _y)*ldf + 
X_IDX_AOSOA(2, 4)] = smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 
2)]*ftemp[0][2] + smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(1, 
2)]*ftemp[1][2];\n    f_v[(1*_ny + _y)*ldf + X_IDX_AOSOA(3, 4)] = 
smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 2)]*ftemp[0][3] + smats_v[(1*_ny 
+ _y)*ldsmats + X_IDX_AOSOA(1, 2)]*ftemp[1][3];\n\n                            
}\n                        }\n                        for (int _xi = cb + nci, 
_xj = 0; _xj < ce - _xi;\n                             _xj++)\n                 
       {\n                            \n    // Compute the flux\n    fpdtype_t 
ftemp[2][4];\n    fpdtype_t p, v[2];\n    {\n\n    fpdtype_t invrho_ = 
1.0/u_v[ldu*_y + X_IDX_AOSOA(0, 4)], E_ = u_v[ldu*_y + X_IDX_AOSOA(3, 4)];\n\n  
  // Compute the velocities\n    fpdtype_t rhov_[2];\n    rhov_[0] = u_v[ldu*_y 
+ X_IDX_AOSOA(1, 4)];\n    v[0] = invrho_*rhov_[0];\n    rhov_[1] = u_v[ldu*_y 
+ X_IDX_AOSOA(2, 4)];\n    v[1] = invrho_*rhov_[1];\n\n    // Compute the 
pressure\n    p = 0.3999999999999999*(E_ - 0.5*invrho_*((rhov_[0])*(rhov_[0]) + 
(rhov_[1])*(rhov_[1])));\n\n    // Density and energy fluxes\n    ftemp[0][0] = 
rhov_[0];\n    ftemp[0][3] = (E_ + p)*v[0];\n    ftemp[1][0] = rhov_[1];\n    
ftemp[1][3] = (E_ + p)*v[1];\n\n    // Momentum fluxes\n    ftemp[0][1] = 
rhov_[0]*v[0] + p;\n    ftemp[0][2] = rhov_[0]*v[1];\n    ftemp[1][1] = 
rhov_[1]*v[0];\n    ftemp[1][2] = rhov_[1]*v[1] + p;\n\n};\n\n    // Transform 
the fluxes\n    f_v[(0*_ny + _y)*ldf + X_IDX_AOSOA(0, 4)] = smats_v[(0*_ny + 
_y)*ldsmats + X_IDX_AOSOA(0, 2)]*ftemp[0][0] + smats_v[(0*_ny + _y)*ldsmats + 
X_IDX_AOSOA(1, 2)]*ftemp[1][0];\n    f_v[(0*_ny + _y)*ldf + X_IDX_AOSOA(1, 4)] 
= smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 2)]*ftemp[0][1] + 
smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(1, 2)]*ftemp[1][1];\n    f_v[(0*_ny 
+ _y)*ldf + X_IDX_AOSOA(2, 4)] = smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 
2)]*ftemp[0][2] + smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(1, 
2)]*ftemp[1][2];\n    f_v[(0*_ny + _y)*ldf + X_IDX_AOSOA(3, 4)] = 
smats_v[(0*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 2)]*ftemp[0][3] + smats_v[(0*_ny 
+ _y)*ldsmats + X_IDX_AOSOA(1, 2)]*ftemp[1][3];\n    f_v[(1*_ny + _y)*ldf + 
X_IDX_AOSOA(0, 4)] = smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 
2)]*ftemp[0][0] + smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(1, 
2)]*ftemp[1][0];\n    f_v[(1*_ny + _y)*ldf + X_IDX_AOSOA(1, 4)] = 
smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 2)]*ftemp[0][1] + smats_v[(1*_ny 
+ _y)*ldsmats + X_IDX_AOSOA(1, 2)]*ftemp[1][1];\n    f_v[(1*_ny + _y)*ldf + 
X_IDX_AOSOA(2, 4)] = smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 
2)]*ftemp[0][2] + smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(1, 
2)]*ftemp[1][2];\n    f_v[(1*_ny + _y)*ldf + X_IDX_AOSOA(3, 4)] = 
smats_v[(1*_ny + _y)*ldsmats + X_IDX_AOSOA(0, 2)]*ftemp[0][3] + smats_v[(1*_ny 
+ _y)*ldsmats + X_IDX_AOSOA(1, 2)]*ftemp[1][3];\n\n                        }\n  
                  }\n                   }\n                   #undef X_IDX\n    
               #undef X_IDX_AOSOA\n               
}\n\nq\x01]q\x02(cnumpy\nint32\nq\x03h\x03cnumpy\nint64\nq\x04h\x03h\x04h\x03h\x04h\x03e\x87q\x05.',
 b'\x80\x03}q\x00.')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\shutil.py", 
line 544, in move
    os.rename(src, real_dst)
FileExistsError: [WinError 183] Cannot create a file when that file already 
exists: 
'C:\\Users\\admin\\AppData\\Local\\pyfr\\pyfr\\Cache\\2624b029-ac70-4dc0-b5d7-38da785c9270'
 -> 
'C:\\Users\\admin\\AppData\\Local\\pyfr\\pyfr\\Cache\\ba6ea04572bb625b8021f05184865a5c3f4331089c354cf1899cff1d7181f4e8.dll'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\backends\openmp\compiler.py",
 line 124, in _cache_set_and_loadlib
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\util.py",
 line 178, in mv
  File "C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\shutil.py", 
line 558, in move
    copy_function(src, real_dst)
  File "C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\shutil.py", 
line 257, in copy2
    copyfile(src, dst, follow_symlinks=follow_symlinks)
  File "C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\shutil.py", 
line 121, in copyfile
    with open(dst, 'wb') as fdst:
PermissionError: [Errno 13] Permission denied: 
'C:\\Users\\admin\\AppData\\Local\\pyfr\\pyfr\\Cache\\ba6ea04572bb625b8021f05184865a5c3f4331089c354cf1899cff1d7181f4e8.dll'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\Scripts\pyfr-script.py", 
line 11, in <module>
    load_entry_point('pyfr==1.7.5', 'console_scripts', 'pyfr')()
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\__main__.py",
 line 110, in main
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\__main__.py",
 line 235, in process_run
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\__main__.py",
 line 216, in _process_common
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\solvers\__init__.py",
 line 16, in get_solver
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\integrators\__init__.py",
 line 46, in get_integrator
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\integrators\std\controllers.py",
 line 14, in __init__
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\integrators\std\steppers.py",
 line 8, in __init__
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\integrators\std\base.py",
 line 10, in __init__
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\integrators\base.py",
 line 58, in __init__
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\integrators\base.py",
 line 88, in _init_system
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\solvers\base\system.py",
 line 65, in __init__
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\solvers\base\system.py",
 line 174, in _gen_kernels
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\solvers\euler\elements.py",
 line 74, in <lambda>
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\backends\base\backend.py",
 line 166, in kernel
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\backends\base\kernels.py",
 line 161, in kernel_meth
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\util.py",
 line 35, in __call__
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\backends\openmp\provider.py",
 line 13, in _build_kernel
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\backends\openmp\compiler.py",
 line 65, in __init__
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyfr-1.7.5-py3.6.egg\pyfr\backends\openmp\compiler.py",
 line 127, in _cache_set_and_loadlib
  File 
"C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\ctypes\__init__.py", 
line 348, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found

job aborted:
[ranks] message

[0] application aborted
aborting MPI_COMM_WORLD (comm=0x44000000), error 1, comm rank 0

[1] terminated

---- error analysis -----

[0] on BEAST
pyfr aborted the job. abort code 1

---- error analysis -----

Reply via email to