Add an "external tool" or "profiling tool" option to upcxx-run
Upcxx-run currently checks if the program being run is a upcxx program or not. The issue is that it makes it impossible to easily run profiling tools. I think it would be a valuable addition to have an option to let the user provide a non-upcxx tool (and its arguments) to a "profiler" option:
upcxx -np 2 -N 2 -profiler "amplxe-cl -collect hotspots -- " ./my_upcxx_program my_arguments
Comments (6)
-
-
reporter Thank you Paul, I did not know that. However, upcxx-run SHOULD have the exact same behavior. Upcxx users don't necessarily desire to know anything other than upcxx-run If gasnet is already doing it, perhaps it is not a very hard fix. I can give it a try if it's "basic" python
-
Mathias,
I agree this is a valid feature request.
I just wanted to clarify that GASNet was already prepared to do its part. -
- changed component to upcxx-run
I second this request that upcxx-run follow the same approach taken by gasnetrun and upcrun. The Python code should iterate through the command line arguments left-to-right until it finds one that resolves to a UPC++ executable, instead of requiring it to be the first non-option argument.
Mathias - do you have the time and Python expertise to look into making this change? Our feature freeze is tomorrow..
-
reporter I have written something to that effect but haven't tested it yet. I'll make a pull request ASAP.
-
reporter - changed status to resolved
This issue has been resolved by pull request #45
- Log in to comment
GASNet's spawners (most or all?) iterate over the arguments looking for one that is a GASNet executable, rather than requiring that it be the first non-option argument. So, the following should just work already at the GASNet level without any special arguments:
gasnetrun-ibv -np 2 -N 2 amplxe-cl -collect hotspots -- ./my_upcxx_program my_arguments