Hello, I've been using PyFR on a windows laptop with Cygwin 64bit, and after upgrading pyfr to 1.3, I get an error which seems to persist even when I downgrade back to 1.2.
$ pyfr run -b openmp -p euler_vortex_2d.pyfrm euler_vortex_2d.ini Traceback (most recent call last): File "/home/User/PyFR/env/lib/python3.4/site-packages/pyfr-1.2.0-py3.4.egg/pyfr/util.py", line 32, in __call__ KeyError: (<function OpenMPKernelProvider._build_kernel at 0x6fffda28c80>, b'(X\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\x04etq\x06.', b'}q\x00.') During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/User/PyFR/env/bin/pyfr", line 9, in <module> load_entry_point('pyfr==1.2.0', 'console_scripts', 'pyfr')() File "/usr/lib/python3.4/site-packages/mpmath-0.19-py3.4.egg/mpmath/ctx_mp.py", line 1301, in g return f(*args, **kwargs) File "/home/User/PyFR/env/lib/python3.4/site-packages/pyfr-1.2.0-py3.4.egg/pyfr/scripts/main.py", line 112, in main File "/home/User/PyFR/env/lib/python3.4/site-packages/pyfr-1.2.0-py3.4.egg/pyfr/scripts/main.py", line 233, in process_run File "/home/User/PyFR/env/lib/python3.4/site-packages/pyfr-1.2.0-py3.4.egg/pyfr/scripts/main.py", line 217, in _process_common File "/home/User/PyFR/env/lib/python3.4/site-packages/pyfr-1.2.0-py3.4.egg/pyfr/solvers/__init__.py", line 14, in get_solver File "/home/User/PyFR/env/lib/python3.4/site-packages/pyfr-1.2.0-py3.4.egg/pyfr/integrators/__init__.py", line 26, in get_integrator File "/home/User/PyFR/env/lib/python3.4/site-packages/pyfr-1.2.0-py3.4.egg/pyfr/integrators/controllers.py", line 14, in __init__ File "/home/User/PyFR/env/lib/python3.4/site-packages/pyfr-1.2.0-py3.4.egg/pyfr/integrators/steppers.py", line 9, in __init__ File "/home/User/PyFR/env/lib/python3.4/site-packages/pyfr-1.2.0-py3.4.egg/pyfr/integrators/base.py", line 41, in __init__ File "/home/User/PyFR/env/lib/python3.4/site-packages/pyfr-1.2.0-py3.4.egg/pyfr/solvers/base/system.py", line 59, in __init__ File "/home/User/PyFR/env/lib/python3.4/site-packages/pyfr-1.2.0-py3.4.egg/pyfr/solvers/base/system.py", line 167, in _gen_kernels File "/home/User/PyFR/env/lib/python3.4/site-packages/pyfr-1.2.0-py3.4.egg/pyfr/solvers/baseadvec/elements.py", line 80, in <lambda> File "/home/User/PyFR/env/lib/python3.4/site-packages/pyfr-1.2.0-py3.4.egg/pyfr/backends/base/backend.py", line 173, in kernel File "/home/User/PyFR/env/lib/python3.4/site-packages/pyfr-1.2.0-py3.4.egg/pyfr/backends/openmp/cblas.py", line 94, in mul File "/home/User/PyFR/env/lib/python3.4/site-packages/pyfr-1.2.0-py3.4.egg/pyfr/util.py", line 34, in __call__ File "/home/User/PyFR/env/lib/python3.4/site-packages/pyfr-1.2.0-py3.4.egg/pyfr/backends/openmp/provider.py", line 13, in _build_kernel File "/home/User/PyFR/env/lib/python3.4/site-packages/pyfr-1.2.0-py3.4.egg/pyfr/backends/openmp/compiler.py", line 61, in __init__ File "/home/User/PyFR/env/lib/python3.4/site-packages/pyfr-1.2.0-py3.4.egg/pyfr/backends/openmp/compiler.py", line 30, in __init__ File "/home/User/PyFR/env/lib/python3.4/site-packages/pyfr-1.2.0-py3.4.egg/pyfr/backends/openmp/compiler.py", line 80, in _build File "/home/User/PyFR/env/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/env/lib/python3.4/site-packages/pytools/prefork.py", line 156, in call_capture_output error_on_nonzero) File "/home/User/PyFR/env/lib/python3.4/site-packages/pytools/prefork.py", line 136, in _remote_invoke who="Prefork client", partner="prefork server") File "/home/User/PyFR/env/lib/python3.4/site-packages/pytools/prefork.py", line 70, in _recv_packet size_bytes = sock.recv(size_bytes_size) ConnectionResetError: [Errno 104] Connection reset by peer Error in atexit._run_exitfuncs: Traceback (most recent call last): File "/home/User/PyFR/env/lib/python3.4/site-packages/pytools/prefork.py", line 144, in _quit self._remote_invoke("quit") File "/home/User/PyFR/env/lib/python3.4/site-packages/pytools/prefork.py", line 134, in _remote_invoke _send_packet(self.socket, (name, args, kwargs)) File "/home/User/PyFR/env/lib/python3.4/site-packages/pytools/prefork.py", line 64, in _send_packet sock.sendall(pack("I", len(packet))) ConnectionResetError: [Errno 104] Connection reset by peer since it refers to prefork, I thought it would be an issue with pytools, but changing versions of that seemed to not have any affect. It may be worth noting that for v1.1 and 1.2 I've downloaded the program and used setup.py install, but for 1.3 my mentor suggested using pip -e and then pip. after creating a few virtual environments, I'm not sure how to approach the problem. -- 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.