You get traces by running PYPYLOG=jit-log-opt,jit-backend:<filename> pypy ....
There is a tool call jitviewer for viewing those traces. OpenCL is likely just written in C and the kernel itself does not contain any Python. On Fri, Nov 21, 2014 at 3:17 AM, 黄若尘 <hrc...@gmail.com> wrote: > Hi Fijaklowski, > > Thank you very much for your reply. > > Yes, you are right, it’s too hard for me to implement automatic > parallelization for the whole PyPy’s trace JIT. I think maybe I can firstly > do some work with a very simple interpreter (for example the > example-interpreter introduced by PyPy documentation), and try to change some > behaviors of RPython JIT. > > By the way, could you tell me how can I get the traces and handle them before > compiled to native code? I just want to try to convert some of the traces to > OpenCL kernel codes and run them in other devices like GPU. > > Best Regards, > Huang Ruochen > >> 在 2014年11月21日,上午12:05,Maciej Fijalkowski <fij...@gmail.com> 写道: >> >> Hi 黄若尘 >> >> This is generally a hard problem that projects like GCC or LLVM didn't >> get very far. The problem is slightly more advanced with PyPys JIT, >> but not much more. >> >> However, the problem is you can do it for simple loops, but the >> applications are limited outside of pure numerics (e.g. numpy) and >> also doing SSE stuff in such cases first seems like both a good >> starting point and a small enough project for master thesis. >> >> Cheers, >> fijal >> >> On Tue, Nov 18, 2014 at 3:46 AM, 黄若尘 <hrc...@gmail.com> wrote: >>> Hi everyone, >>> >>> I’m a master student in Japan and I want to do some research in >>> PyPy/RPython. >>> I have read some papers about PyPy and I also had some ideas about it. I >>> have communicated with Mr. Bloz and been advised to send my question here. >>> >>> Actually, I wonder if it is possible to make an automatic parallelization >>> for the trace generated by JIT, that is, check if the hot loop is a >>> parallel loop, if so, then try to run the trace parallel in multi-core CPU >>> or GPU, make it faster. >>> I think it maybe suitable because: >>> 1. The traced-base JIT is targeting on loops, which is straight to >>> parallel computation. >>> 2. There is no control-flow in trace, which is suitable to the fragment >>> program in GPU. >>> 3. We may use the hint of @elidable in interpreter codes, since the >>> elidable functions are nonsensitive in the execution ordering so can be >>> executed parallel. >>> >>> What do you think about it? >>> >>> Best Regards, >>> Huang Ruochen >>> _______________________________________________ >>> pypy-dev mailing list >>> pypy-dev@python.org >>> https://mail.python.org/mailman/listinfo/pypy-dev > _______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev