Hpe to upstream#57
Conversation
Author: kglaser Description: pulled in the patch, fixed patch rejects as necessary, and excluded any of our mods to support tbb. Fixed syntax error
…387 to v4.0.2_hpe * commit '277b80efd4fd19b35fb1dc474cbb1ec988a3cd88': Subject: Pulled in cray/hpe patch Author: kglaser Description: pulled in the patch, fixed patch rejects as necessary, and excluded any of our mods to support tbb.
…s to key off CRAYXT, adjust gdb PATH, remove temporary debugging code
…23 to v4.0.2_hpe * commit '75f06180462019ed7e18e0d960359404c39163d3': Added CFLAGS var Updated to build with CTI pkgconfig libdir path
…2_hpe * commit '210b29a6b629e78c72d7ec177d724ed390071bf2': replace CRAYXT with --with-cti in configuration last minute tidying: change initLmon to initLauncher, set up factories to key off CRAYXT, adjust gdb PATH, remove temporary debugging code clean up code version working with gdb back-end; lots of debugging statements add support for launching the application with cti clean up and document version working with attach but with a lot of debug statements hard-wire factory to create cti front and back end add cti implementation for backend initial cti front end code move the cti dependencies in the lmon implementation into STAT_lmonFrontEnd fix missing initialization for proctabSize_ make python wrapper use factory method STAT_FrontEnd::make refactor launchmon dependencies in backend into separate class factor launchmon dependencies into a sub-class of STAT_Frontend
…35 to v4.0.2_hpe * commit '7a22a8ee996c03b25e196c365cdde1078be0bd33': remove print statement
…68 to v4.0.2_hpe * commit '9dc9f0226936994c22618dc3a2adf9cc2abb27b9': remove debugging code
…868 to v4.0.2_hpe * commit '6c91b821b6169bbeca8cc735f21c5ec5e8b802a5': undo special debug logging connect rocgdb backend add roc_gdb support and fix some initial problems
pare down the boost checks to not look for unused boost libraries
The "info thread" command is replaced with "-thread-info" command. For this purpose, now gdb-oneapi script have a dependency on an open source python module "pygdbmi". This module provides the interface to parse the "-thread-info" MI Command response using its "gdbmiparser" function. The SIMD lane information is then extracted from it using the exectution_mask and simd_width info available for each thread. Also the test file oneapi_gdb_test.py is updated to test this change. Signed-off-by: Abdul Basit Ijaz <abdul.b.ijaz@intel.com>
* Improvement in getting threads list for the gdb-oneapi support Replaced the MI command "-thread-info" with "thread apply" for retrieving the thread list. The previous MI command output could grow excessively large, making it inefficient for the readlines function to process. Now after this change the output of "thread apply" command is only a list of threads and will take less time in readlines function. The test file oneapi_gdb_test.py has been updated to test these changes. Signed-off-by: Abdul Basit Ijaz <abdul.b.ijaz@intel.com> * Improvements in getting backtrace for the gdb-oneapi support The backtrace command now uses the "with print frame-arguments none --" option to enhance performance, as frame argument details are unnecessary for the STAT tool. Signed-off-by: Abdul Basit Ijaz <abdul.b.ijaz@intel.com> * Remove STAT_COLLECT_SIMD_BT from gdb-oneapi support The "STAT_COLLECT_SIMD_BT" option in gdb-oneapi STAT support is used to add lane information in thread id. So, using this environment increases the STAT capture time due to sequential calls per lane of a thread for the collection of the call stack. It is removed in this change because the function call stacks collected for lanes are identical , except for function argument values, which are not taken into consideration by STAT anyway. Signed-off-by: Abdul Basit Ijaz <abdul.b.ijaz@intel.com> --------- Signed-off-by: Abdul Basit Ijaz <abdul.b.ijaz@intel.com>
Improvements to gdb-oneapi support (llnl#53)
add logging statements
|
This is going to take me a bit to look at and test. I know this is nit picky, but can you change the {} bracket usage to match the rest of the code, i.e., instead of: if { please do if |
|
I'm most concerned about the changes in STAT_FE.C. The bulk of the code changes are in the STAT_cti... files, which aren't even built for the lmon version, but there are the basic differences in the table process table layout so I had to resort to fiddling around the base class more than I would have liked. On this branch I've already tossed out most of my changes in favor of the upstream edition. The irreducible bits were the CTI/lmon differences and some stuff in the build and run scripts where I at least tried to adapt them to something less intrusive. Especially with the I should really break this into about three PR's - and maybe they don't all make it into develop - but I think this one's useful to get the whole picture. |
|
My initial testing passed for slurm and flux. I will have to look more closely since you touched a lot of files. One big PR is fine with me and merging to develop is fine since it's all the end goal to get it all in there anyway. I can also trigger a new release once it's all in there, unless you have something else you want to get in there. |
This branch tries to reduce the differences between the HPE line of development and the LLNL line to a minimum. There are broader changes in STAT_Frontend.C which were more than I'd like but the bulk of the changes are shunted into STAT_ctiFrontend.C and STAT_ctiBackend.C which would just not be built at all for an lmon based environment.
I can't verify that the changes haven't broken the lmon version, but some case was taken