PyFR runtime compilation failure with opnmp backend

Dear developers:

Recently, I want to calculate some cases using the PYFR which developed form yours, but I had a problem when first using the PYFR . At the examples you have given----2D couette flow, euler vortex and incompressible cylinder flow, when i using the command ‘pyfr run’, the keyError always occurs,and I don’t why. I was wondering if you can give me some advices.

The command is pyfr run -b openmp -p couette_flow_2d.pyfrm couette_flow_2d.ini the error is:

Traceback (most recent call last):
File "/opt/python-3.6.3/lib/python3.6/site-packages/pyfr/util.py", line 33, in __call__
res = cache[key]
KeyError: (<function OpenMPKernelProvider._build_kernel at 0x7fa8ad372840>, b'\x80\x03X\t\x00\x00\x00gimmik_mmq\x00X\xc7\x07\x00\x00\nvoid\ngimmik_mm(int ncol,\n const double* restrict b, int ldb,\n double* restrict c, int ldc)\n{\n double dotp;\n\n #pragma omp parallel for simd private(dotp)\n for (int i = 0; i < ncol; i++)\n {\n dotp = 1.4788305577012362*b[i + 0*ldb] + -0.6666666666666665*b[i + 3*ldb] + 0.18783610896543057*b[i + 6*ldb];\n c[i + 0*ldc] = dotp;\n dotp = 1.4788305577012362*b[i + 1*ldb] + -0.6666666666666665*b[i + 4*ldb] + 0.18783610896543057*b[i + 7*ldb];\n c[i + 1*ldc] = dotp;\n dotp = 1.4788305577012362*b[i + 2*ldb] + -0.6666666666666665*b[i + 5*ldb] + 0.18783610896543057*b[i + 8*ldb];\n c[i + 2*ldc] = dotp;\n dotp = 0.18783610896543057*b[i + 0*ldb] + -0.6666666666666665*b[i + 1*ldb] + 1.4788305577012362*b[i + 2*ldb];\n c[i + 3*ldc] = dotp;\n dotp = 0.18783610896543057*b[i + 3*ldb] + -0.6666666666666665*b[i + 4*ldb] + 1.4788305577012362*b[i + 5*ldb];\n c[i + 4*ldc] = dotp;\n dotp = 0.18783610896543057*b[i + 6*ldb] + -0.6666666666666665*b[i + 7*ldb] + 1.4788305577012362*b[i + 8*ldb];\n c[i + 5*ldc] = dotp;\n dotp = 0.18783610896543057*b[i + 0*ldb] + -0.6666666666666665*b[i + 3*ldb] + 1.4788305577012362*b[i + 6*ldb];\n c[i + 6*ldc] = dotp;\n dotp = 0.18783610896543057*b[i + 1*ldb] + -0.6666666666666665*b[i + 4*ldb] + 1.4788305577012362*b[i + 7*ldb];\n c[i + 7*ldc] = dotp;\n dotp = 0.18783610896543057*b[i + 2*ldb] + -0.6666666666666665*b[i + 5*ldb] + 1.4788305577012362*b[i + 8*ldb];\n c[i + 8*ldc] = dotp;\n dotp = 1.4788305577012362*b[i + 0*ldb] + -0.6666666666666665*b[i + 1*ldb] + 0.18783610896543057*b[i + 2*ldb];\n c[i + 9*ldc] = dotp;\n dotp = 1.4788305577012362*b[i + 3*ldb] + -0.6666666666666665*b[i + 4*ldb] + 0.18783610896543057*b[i + 5*ldb];\n c[i + 10*ldc] = dotp;\n dotp = 1.4788305577012362*b[i + 6*ldb] + -0.6666666666666665*b[i + 7*ldb] + 0.18783610896543057*b[i + 8*ldb];\n c[i + 11*ldc] = dotp;\n }\n}\nq\x01]q\x02(cnumpy\nint32\nq\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 "/opt/python-3.6.3/bin/pyfr", line 11, in <module>
load_entry_point('pyfr==1.7.0', 'console_scripts', 'pyfr')()
File "/opt/python-3.6.3/lib/python3.6/site-packages/pyfr/__main__.py", line 110, in main
args.process(args)
File "/opt/python-3.6.3/lib/python3.6/site-packages/pyfr/__main__.py", line 235, in process_run
args, NativeReader(args.mesh), None, Inifile.load(args.cfg)
File "/opt/python-3.6.3/lib/python3.6/site-packages/pyfr/__main__.py", line 216, in _process_common
solver = get_solver(backend, rallocs, mesh, soln, cfg)
File "/opt/python-3.6.3/lib/python3.6/site-packages/pyfr/solvers/__init__.py", line 16, in get_solver
return get_integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)
File "/opt/python-3.6.3/lib/python3.6/site-packages/pyfr/integrators/__init__.py", line 46, in get_integrator
return integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)
File "/opt/python-3.6.3/lib/python3.6/site-packages/pyfr/integrators/std/controllers.py", line 14, in __init__
super().__init__(*args, **kwargs)
File "/opt/python-3.6.3/lib/python3.6/site-packages/pyfr/integrators/std/steppers.py", line 8, in __init__
super().__init__(*args, **kwargs)
File "/opt/python-3.6.3/lib/python3.6/site-packages/pyfr/integrators/std/base.py", line 10, in __init__
super().__init__(*args, **kwargs)
File "/opt/python-3.6.3/lib/python3.6/site-packages/pyfr/integrators/base.py", line 58, in __init__
self._init_system(systemcls, backend, rallocs, mesh, initsoln)
File "/opt/python-3.6.3/lib/python3.6/site-packages/pyfr/integrators/base.py", line 88, in _init_system
self.system = systemcls(*args, nreg=self.nreg, cfg=self.cfg)
File "/opt/python-3.6.3/lib/python3.6/site-packages/pyfr/solvers/base/system.py", line 65, in __init__
self._gen_kernels(eles, int_inters, mpi_inters, bc_inters)
File "/opt/python-3.6.3/lib/python3.6/site-packages/pyfr/solvers/base/system.py", line 174, in _gen_kernels
kernels[pn, kn].append(kgetter())
File "/opt/python-3.6.3/lib/python3.6/site-packages/pyfr/solvers/baseadvec/elements.py", line 57, in <lambda>
out=self._scal_fpts
File "/opt/python-3.6.3/lib/python3.6/site-packages/pyfr/backends/base/backend.py", line 166, in kernel
return kern(*args, **kwargs)
File "/opt/python-3.6.3/lib/python3.6/site-packages/pyfr/backends/openmp/gimmik.py", line 34, in mul
[np.int32] + [np.intp, np.int32]*2)
File "/opt/python-3.6.3/lib/python3.6/site-packages/pyfr/util.py", line 35, in __call__
res = cache[key] = self.func(*args, **kwargs)
File "/opt/python-3.6.3/lib/python3.6/site-packages/pyfr/backends/openmp/provider.py", line 13, in _build_kernel
mod = SourceModule(src, self.backend.cfg)
File "/opt/python-3.6.3/lib/python3.6/site-packages/pyfr/backends/openmp/compiler.py", line 58, in __init__
call_capture_output(self.cc_cmd(cname, lname), cwd=tmpdir)
File "/opt/python-3.6.3/lib/python3.6/site-packages/pytools/prefork.py", line 223, in call_capture_output
return forker.call_capture_output(cmdline, cwd, error_on_nonzero)
File "/opt/python-3.6.3/lib/python3.6/site-packages/pytools/prefork.py", line 180, in call_capture_output
error_on_nonzero)
File "/opt/python-3.6.3/lib/python3.6/site-packages/pytools/prefork.py", line 162, in _remote_invoke
raise result
pytools.prefork.ExecError: error invoking 'cc -shared -std=c99 -Ofast -march=native -fopenmp -fPIC -o libtmp.so tmp.c -lm': status 1 invoking 'cc -shared -std=c99 -Ofast -march=native -fopenmp -fPIC -o libtmp.so tmp.c -lm': b'cc1: error: invalid option argument \xe2\x80\x98-Ofast\xe2\x80\x99\n'

Thanks for your time!

发送自 Windows 10 版邮件应用