ut-parla / Parla.py

A Python based programming system for heterogeneous computing
Other
21 stars 9 forks source link

VECs Need To Fully Wrap File IO #69

Open insertinterestingnamehere opened 3 years ago

insertinterestingnamehere commented 3 years ago

Currently Galois gets info about hardware topology from /proc/cpuinfo. To intercept those calls fully we need to interpose on file IO. There are several related functions in libc to override and (IIRC, from discussion with @hfingler) C++ potentially has its own routines with their own syscalls, so we may need to shim those as well. The key idea is to have the ability to fake /proc/cpuinfo (and any other similar files?) to increase the robustness of the VEC virtual layer.

insertinterestingnamehere commented 3 years ago

Worth noting: if my theory about the context library not overriding glibc symbols in https://github.com/ut-parla/Parla.py/issues/68 is correct that bug will hold this up. Fortunately it's fixable.

hfingler commented 3 years ago

That's what's happening at this moment. This feature is implemented on my branch but not all VECs have their open overrode. This way the first VEC gets the fake cpuinfo, the rest don't.