Hi Freddie,
I have a similar problem.
I installed Anaconda distribution, therefore I am not sure about the
compiler but mpi4py seems to work only with Intel MPI. At first it was
installing using MS MPI with wrong directories, then I corrected them with
correct MS MPI. But the result of famous mpiexec -4 hello.py was always 0.
Then I tried with Intel MPI and it worked. I validated this behaviour with
VS Intel Fortran and the result was the same. When I run mpiexec --version
command I get Intel.
Please find attached the log files produced when I ran the Couette example.
Also could you tell me if Cblas directory is accepted or not, please? I do
not know the execution order, so I cannot say if it is accepted or not.
Thank you,
I wish you a nice day,
Cheers,
Emre
29 Şubat 2016 Pazartesi 22:36:16 UTC+2 tarihinde Freddie Witherden yazdı:
>
> Hi Leo,
>
> On 25/02/16 17:16, 'Leo Allen' via PyFR Mailing List wrote:
> > Traceback (most recent call last):
> > File "/home/User/PyFR/env4/bin/pyfr", line 9, in <module>
> > load_entry_point('pyfr==1.3.0', 'console_scripts', 'pyfr')()
> > File "/home/User/PyFR/env4/src/pyfr/pyfr/scripts/main.py", line 109,
> > in main
> > args.process(args)
> > File "/home/User/PyFR/env4/src/pyfr/pyfr/scripts/main.py", line 230,
> > in process_run
> > args, NativeReader(args.mesh), None, Inifile.load(args.cfg)
> > File "/home/User/PyFR/env4/src/pyfr/pyfr/scripts/main.py", line 214,
> > in _process_common
> > solver = get_solver(backend, rallocs, mesh, soln, cfg)
> > File "/home/User/PyFR/env4/src/pyfr/pyfr/solvers/__init__.py", line
> > 14, in get_solver
> > return get_integrator(backend, systemcls, rallocs, mesh, initsoln,
> cfg)
> > File "/home/User/PyFR/env4/src/pyfr/pyfr/integrators/__init__.py",
> > line 26, in get_integrator
> > return integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)
> > File "/home/User/PyFR/env4/src/pyfr/pyfr/integrators/controllers.py",
> > line 14, in __init__
> > super().__init__(*args, **kwargs)
> > File "/home/User/PyFR/env4/src/pyfr/pyfr/integrators/steppers.py",
> > line 9, in __init__
> > super().__init__(*args, **kwargs)
> > File "/home/User/PyFR/env4/src/pyfr/pyfr/integrators/base.py", line
> > 41, in __init__
> > self.system = systemcls(backend, rallocs, mesh, initsoln, nreg, cfg)
> > File "/home/User/PyFR/env4/src/pyfr/pyfr/solvers/base/system.py", line
> > 59, in __init__
> > self._gen_kernels(eles, int_inters, mpi_inters, bc_inters)
> > File "/home/User/PyFR/env4/src/pyfr/pyfr/solvers/base/system.py", line
> > 167, in _gen_kernels
> > kernels[pn, kn].append(kgetter())
> > File "/home/User/PyFR/env4/src/pyfr/pyfr/solvers/euler/elements.py",
> > line 70, in <lambda>
> > f=self._vect_upts
> > File "/home/User/PyFR/env4/src/pyfr/pyfr/backends/base/backend.py",
> > line 154, in kernel
> > return kern(*args, **kwargs)
> > File "/home/User/PyFR/env4/src/pyfr/pyfr/backends/base/kernels.py",
> > line 162, in kernel_meth
> > fun = self._build_kernel(name, src, list(it.chain(*argt)))
> > File "/home/User/PyFR/env4/src/pyfr/pyfr/util.py", line 34, in
> __call__
> > res = cache[key] = self.func(*args, **kwargs)
> > File "/home/User/PyFR/env4/src/pyfr/pyfr/backends/openmp/provider.py",
> > line 13, in _build_kernel
> > mod = GccSourceModule(src, self.backend.cfg)
> > File "/home/User/PyFR/env4/src/pyfr/pyfr/backends/openmp/compiler.py",
> > line 61, in __init__
> > super().__init__(src, cfg)
> > File "/home/User/PyFR/env4/src/pyfr/pyfr/backends/openmp/compiler.py",
> > line 30, in __init__
> > lname = self._build(tmpdir)
> > File "/home/User/PyFR/env4/src/pyfr/pyfr/backends/openmp/compiler.py",
> > line 80, in _build
> > call_capture_output(cmd + self._cflags, cwd=tmpdir)
> > File
> > "/home/User/PyFR/env4/lib/python3.4/site-packages/pytools/prefork.py",
> > line 197, in call_capture_output
> > return forker[0].call_capture_output(cmdline, cwd, error_on_nonzero)
> > File
> > "/home/User/PyFR/env4/lib/python3.4/site-packages/pytools/prefork.py",
> > line 54, in call_capture_output
> > % ( " ".join(cmdline), e))
> > pytools.prefork.ExecError: error invoking 'gcc -shared -std=c99 -Ofast
> > -march=native -fopenmp -fPIC -o libtmp.so tmp.c': [Errno 11] Resource
> > temporarily unavailable
>
> Here is your error. Cygwin does not seem to be able to correctly
> emulate the position independent nature of shared libraries that is
> required by the C/OpenMP backend. Instead it appears to have to rebase
> .so's (much like Windows usually does with .dll's) with the shared
> libraries themselves being position dependent.
>
> The need to explicitly rebase shared libraries does not chime well with
> dynamic compilation approached used by PyFR.
>
> It is quite possibly less work to get the C/OpenMP backend working
> natively with Microsoft Windows than it is to work around these defects
> in Cygwin. The CUDA backend has been reported to work successfully and
> so only a few minor changes related to the eager deletion of shared
> libraries should be required.
>
> Regards, Freddie.
>
>
>
--
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 [email protected].
To post to this group, send an email to [email protected].
Visit this group at https://groups.google.com/group/pyfrmailinglist.
For more options, visit https://groups.google.com/d/optout.
MS MPI
Traceback (most recent call last):
File "c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\util.py", line 32, in
__call__
res = cache[key]
KeyError: (<function OpenMPKernelProvider._build_kernel at 0x0000027A282D0488>,
b'\x80\x03X\x08\x00\x00\x00par_gemmq\x00X\x96\n\x00\x00\n\n#include
<omp.h>\n#include <stdlib.h>\n#include <tgmath.h>\n\n#define PYFR_ALIGN_BYTES
32\n#define PYFR_NOINLINE __attribute__ ((noinline))\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// CBLAS GEMM
constants\n#define ROW_MAJOR 101\n#define NO_TRANS 111\n\n// CBLAS GEMM
prototype\ntypedef void (*cblas_gemm_t)(int, int, int,\n
int, int, int,\n fpdtype_t, const fpdtype_t *,
int,\n const fpdtype_t *, int,\n
fpdtype_t, fpdtype_t *, int);\n\nvoid\npar_gemm(cblas_gemm_t gemm, int
M, int N, int K,\n fpdtype_t alpha, const fpdtype_t *A, int lda,\n
const fpdtype_t *B, int ldb,\n fpdtype_t beta, fpdtype_t *C, int
ldc)\n{\n #pragma omp parallel\n {\n int begin, end;\n
loop_sched_1d(N, PYFR_ALIGN_BYTES / sizeof(fpdtype_t), &begin, &end);\n\n
gemm(ROW_MAJOR, NO_TRANS, NO_TRANS, M, end - begin, K,\n alpha, A,
lda, B + begin, ldb, beta, C + begin, ldc);\n
}\n}\n\nq\x01]q\x02(cnumpy\nint64\nq\x03cnumpy\nint32\nq\x04h\x04h\x04cnumpy\nfloat64\nq\x05h\x03h\x04h\x03h\x04h\x05h\x03h\x04e\x87q\x06.',
b'\x80\x03}q\x00.')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Pc\Anaconda3\lib\site-packages\pytools\prefork.py", line 46,
in call_capture_output
popen = Popen(cmdline, cwd=cwd, stdin=PIPE, stdout=PIPE, stderr=PIPE)
File "C:\Users\Pc\Anaconda3\lib\subprocess.py", line 950, in __init__
restore_signals, start_new_session)
File "C:\Users\Pc\Anaconda3\lib\subprocess.py", line 1220, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] Sistem belirtilen dosyayı bulamıyor
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Pc\Anaconda3\Scripts\pyfr-script.py", line 9, in <module>
load_entry_point('pyfr', 'console_scripts', 'pyfr')()
File "c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\scripts\main.py", line
109, in main
args.process(args)
File "c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\scripts\main.py", line
230, in process_run
args, NativeReader(args.mesh), None, Inifile.load(args.cfg)
File "c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\scripts\main.py", line
214, in _process_common
solver = get_solver(backend, rallocs, mesh, soln, cfg)
File "c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\solvers\__init__.py",
line 14, in get_solver
return get_integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\integrators\__init__.py",
line 26, in get_integrator
return integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\integrators\controllers.py",
line 14, in __init__
super().__init__(*args, **kwargs)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\integrators\steppers.py",
line 9, in __init__
super().__init__(*args, **kwargs)
File "c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\integrators\base.py",
line 41, in __init__
self.system = systemcls(backend, rallocs, mesh, initsoln, nreg, cfg)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\solvers\base\system.py", line
59, in __init__
self._gen_kernels(eles, int_inters, mpi_inters, bc_inters)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\solvers\base\system.py", line
167, in _gen_kernels
kernels[pn, kn].append(kgetter())
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\solvers\baseadvec\elements.py",
line 80, in <lambda>
out=self.scal_upts_outb
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\backends\base\backend.py",
line 154, in kernel
return kern(*args, **kwargs)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\backends\openmp\cblas.py",
line 93, in mul
par_gemm = self._build_kernel('par_gemm', src, argt)
File "c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\util.py", line 34, in
__call__
res = cache[key] = self.func(*args, **kwargs)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\backends\openmp\provider.py",
line 13, in _build_kernel
mod = GccSourceModule(src, self.backend.cfg)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\backends\openmp\compiler.py",
line 61, in __init__
super().__init__(src, cfg)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\backends\openmp\compiler.py",
line 30, in __init__
lname = self._build(tmpdir)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\backends\openmp\compiler.py",
line 80, in _build
call_capture_output(cmd + self._cflags, cwd=tmpdir)
File "C:\Users\Pc\Anaconda3\lib\site-packages\pytools\prefork.py", line 197,
in call_capture_output
return forker[0].call_capture_output(cmdline, cwd, error_on_nonzero)
File "C:\Users\Pc\Anaconda3\lib\site-packages\pytools\prefork.py", line 54,
in call_capture_output
% ( " ".join(cmdline), e))
pytools.prefork.ExecError: error invoking 'cc -shared -std=c99 -Ofast
-march=native -fopenmp -fPIC -o libtmp.so tmp.c': [WinError 2] Sistem
belirtilen dosyayı bulamıyor
Hi Freddie,
I have a similar problem.
I installed Anaconda distribution, therefore I am not sure about the compiler
but mpi4py seems to work only with Intel MPI. At first it was installing using
MS MPI with wrong directories, then I corrected them with correct MS MPI. But
the result of famous mpiexec -4 hello.py was always 0. Then I tried with Intel
MPI and it worked. I checked MS MPI and Intel MPI also with VS Intel Fortran
and the result was the same.
However when I run Couette example with either of them, the result is:
INTEL MPI
Traceback (most recent call last):
File "c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\util.py", line 32, in
__call__
res = cache[key]
KeyError: (<function OpenMPKernelProvider._build_kernel at 0x00000165AEBC0488>,
b'\x80\x03X\n\x00\x00\x00negdivconfq\x00X^\r\x00\x00\n\n#include
<omp.h>\n#include <stdlib.h>\n#include <tgmath.h>\n\n#define PYFR_ALIGN_BYTES
32\n#define PYFR_NOINLINE __attribute__ ((noinline))\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\nstatic PYFR_NOINLINE void
negdivconf_inner(int _nx, const fpdtype_t *__restrict__ rcpdjac_v, fpdtype_t
*__restrict__ tdivtconf_v0, fpdtype_t *__restrict__ tdivtconf_v1, fpdtype_t
*__restrict__ tdivtconf_v2, fpdtype_t *__restrict__ tdivtconf_v3)\n
{\n for (int _x = 0; _x < _nx; _x++)\n
{\n \n tdivtconf_v0[_x] =
-rcpdjac_v[_x]*tdivtconf_v0[_x] + (0.);\n tdivtconf_v1[_x] =
-rcpdjac_v[_x]*tdivtconf_v1[_x] + (0.);\n tdivtconf_v2[_x] =
-rcpdjac_v[_x]*tdivtconf_v2[_x] + (0.);\n tdivtconf_v3[_x] =
-rcpdjac_v[_x]*tdivtconf_v3[_x] + (0.);\n\n }\n
}\n void negdivconf(int _ny, int _nx, const fpdtype_t*
__restrict__ rcpdjac_v, int lsdrcpdjac, fpdtype_t* __restrict__ tdivtconf_v,
int lsdtdivtconf)\n {\n #pragma omp
parallel\n {\n int align =
PYFR_ALIGN_BYTES / sizeof(fpdtype_t);\n int rb, re,
cb, ce;\n loop_sched_2d(_ny, _nx, align, &rb, &re,
&cb, &ce);\n for (int _y = rb; _y < re; _y++)\n
{\n negdivconf_inner(ce - cb,
rcpdjac_v + _y*lsdrcpdjac + cb, tdivtconf_v + (_y*4 + 0)*lsdtdivtconf + cb,
tdivtconf_v + (_y*4 + 1)*lsdtdivtconf + cb, tdivtconf_v + (_y*4 +
2)*lsdtdivtconf + cb, tdivtconf_v + (_y*4 + 3)*lsdtdivtconf + cb);\n
}\n }\n
}\n\nq\x01]q\x02(cnumpy\nint32\nq\x03h\x03cnumpy\nint64\nq\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\Pc\Anaconda3\lib\site-packages\pytools\prefork.py", line 46,
in call_capture_output
popen = Popen(cmdline, cwd=cwd, stdin=PIPE, stdout=PIPE, stderr=PIPE)
File "C:\Users\Pc\Anaconda3\lib\subprocess.py", line 950, in __init__
restore_signals, start_new_session)
File "C:\Users\Pc\Anaconda3\lib\subprocess.py", line 1220, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] Sistem belirtilen dosyayı bulamıyor
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Pc\Anaconda3\Scripts\pyfr-script.py", line 9, in <module>
load_entry_point('pyfr', 'console_scripts', 'pyfr')()
File "c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\scripts\main.py", line
109, in main
args.process(args)
File "c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\scripts\main.py", line
230, in process_run
args, NativeReader(args.mesh), None, Inifile.load(args.cfg)
File "c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\scripts\main.py", line
214, in _process_common
solver = get_solver(backend, rallocs, mesh, soln, cfg)
File "c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\solvers\__init__.py",
line 14, in get_solver
return get_integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\integrators\__init__.py",
line 26, in get_integrator
return integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\integrators\controllers.py",
line 14, in __init__
super().__init__(*args, **kwargs)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\integrators\steppers.py",
line 9, in __init__
super().__init__(*args, **kwargs)
File "c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\integrators\base.py",
line 41, in __init__
self.system = systemcls(backend, rallocs, mesh, initsoln, nreg, cfg)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\solvers\base\system.py", line
59, in __init__
self._gen_kernels(eles, int_inters, mpi_inters, bc_inters)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\solvers\base\system.py", line
167, in _gen_kernels
kernels[pn, kn].append(kgetter())
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\solvers\baseadvec\elements.py",
line 116, in <lambda>
rcpdjac=self.rcpdjac_at('upts'), ploc=plocupts, u=solnupts
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\backends\base\backend.py",
line 154, in kernel
return kern(*args, **kwargs)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\backends\base\kernels.py",
line 162, in kernel_meth
fun = self._build_kernel(name, src, list(it.chain(*argt)))
File "c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\util.py", line 34, in
__call__
res = cache[key] = self.func(*args, **kwargs)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\backends\openmp\provider.py",
line 13, in _build_kernel
mod = GccSourceModule(src, self.backend.cfg)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\backends\openmp\compiler.py",
line 61, in __init__
super().__init__(src, cfg)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\backends\openmp\compiler.py",
line 30, in __init__
lname = self._build(tmpdir)
File
"c:\users\pc\downloads\pyfr-1.3.0\pyfr-1.3.0\pyfr\backends\openmp\compiler.py",
line 80, in _build
call_capture_output(cmd + self._cflags, cwd=tmpdir)
File "C:\Users\Pc\Anaconda3\lib\site-packages\pytools\prefork.py", line 197,
in call_capture_output
return forker[0].call_capture_output(cmdline, cwd, error_on_nonzero)
File "C:\Users\Pc\Anaconda3\lib\site-packages\pytools\prefork.py", line 54,
in call_capture_output
% ( " ".join(cmdline), e))
pytools.prefork.ExecError: error invoking 'cc -shared -std=c99 -Ofast
-march=native -fopenmp -fPIC -o libtmp.so tmp.c': [WinError 2] Cannot find
defined file