STEllAR-GROUP / phylanx

An Asynchronous Distributed C++ Array Processing Toolkit
Boost Software License 1.0
75 stars 76 forks source link

Phylanx Minimum Viable Product #1281

Open stevenrbrandt opened 4 years ago

stevenrbrandt commented 4 years ago

At the moment, Phylanx isn't usable. However, I don't think the number of issues that need to be solved to get us to a minimum viable product is that many. There are a lot of other features that I want and think are important, but these 7 are all critical.

khuck commented 4 years ago

@stevenrbrandt I have implemented an event filter, but I need to figure out how to integrate it with the HPX build - I use an external JSON library for parsing. I think the library is already part of the build, but I need to figure out the include path support for CMake. See https://github.com/khuck/xpress-apex/commit/87d26c86a1eb9f49963b1a3e5a07839c14e8df9b for some info.

stevenrbrandt commented 4 years ago

@khuck I see. Is there also an env variable?

khuck commented 4 years ago

@stevenrbrandt OK, I tested the filter with HPX and all appears to work. Yes, there's an environment variable. It currently has a default value of empty string, so if you want that to be defaulted, let me know. The variable is:

export APEX_EVENT_FILTER_FILE=/mnt/nvme_superfast/scratch/khuck/hpx/build/filter.json

and for my test, the file had the contents:

{
    "include": ["fibonacci.*"]
}

...which is a string that starts with 'fibonacci' and has any number of additional characters. It is the usual C++ regular expression syntax. If you want to exclude all timers that start with 'fibonacci', you would have a file with:

{
    "exclude": ["fibonacci.*"]
}

...and you can mix the two.

I haven't really optimized the implementation, but I will if I see that it is introducing too much overhead. Any optimizations shouldn't change this interface, though. For Phylanx, it might be interesting to do a test where we only include timers that start with '/phylanx.*', and hide everything else. Although that would hide the HPX under the covers.

khuck commented 4 years ago

...and this is in the develop branch of APEX.

stevenrbrandt commented 3 years ago

@khuck the filter works!

khuck commented 3 years ago

[pops champagne bottle]