Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
177997d
nvidia compilers
May 6, 2024
193fd8b
nvidia compilers
May 6, 2024
56cb178
Syncing luatools modules with xalt/testing
May 18, 2024
cd0b7e0
Remove dead commented out code
Jun 11, 2024
ba748d7
Merge branch 'main' into testing
Jun 25, 2024
9a98be1
Add tags to actions at top-level
Jun 25, 2024
78e3dc6
updated TAGS
Jun 25, 2024
ee697db
Issue #65: Do not use my_stderr when null
Jun 25, 2024
fece135
Issue #65: set my_stderr to stderr if my_stderr is null
Jun 26, 2024
ae06f78
Update docs to point to the mailing list
Jun 26, 2024
751a52e
Update etags
Jun 26, 2024
ee2048d
Add links to documentation and mailing list
Jun 26, 2024
174308f
fix typo my_fini to myfini in comment
Jun 26, 2024
159403e
Merge branch 'testing'
Jun 26, 2024
ad890b4
moving to TAG_VERSION xalt-3.0.3
Jun 26, 2024
a9a8b0e
fix typo about mailing list name
Jun 26, 2024
07c44d7
Merge branch 'testing'
Jun 26, 2024
eed6635
Moving docs/mailing list sites up in README.md
Jun 26, 2024
8ef43c8
remove setup for dead computers in build.rtm
Jun 26, 2024
5691022
formatting
Jun 29, 2024
835bfc8
Issue #66: make sure to skip all shells
Jul 19, 2024
513b00b
Ignore personal rust programs
Jul 20, 2024
b36236f
Merge branch 'main' of bitbucket.org:rtmclay/xalt
Jul 20, 2024
b282ef9
Update build_xalt.sh
ScreamingPigeon Jul 22, 2024
4e7f208
Update README.md
ScreamingPigeon Jul 23, 2024
da95817
Update README.md
ScreamingPigeon Jul 23, 2024
ebdcc9d
Update README.md
ScreamingPigeon Jul 23, 2024
2a3bc38
Update README.md
ScreamingPigeon Jul 23, 2024
f69ea4b
Completed preliminary build for CLI utility in cli_tools/xalt_find_r…
ScreamingPigeon Jul 25, 2024
3955556
In configure run all tests before erroring out
Jul 30, 2024
96f4575
update configure to report all errors before quiting
Jul 30, 2024
f8124af
Reset configure.ac back to main branch
Jul 31, 2024
af7c2f8
Better configure error handling
Aug 1, 2024
42045dd
Better configure error handling
Aug 1, 2024
9e3a17f
Better configure error handling
Aug 1, 2024
a1df53e
updated README.new about configure.ac changes and SKIPing shells
Aug 1, 2024
940fe8b
update configue.ac message about python mysql interface library
Aug 1, 2024
53f8344
adding new hosts to root list
Aug 11, 2024
8b8fdd2
Adding support for testing for getentropy function in libc
Aug 13, 2024
b31f1dc
Adding support for using UUID V7 when getentropy is in libc
Aug 13, 2024
40c0fcc
comment tweeks
Aug 16, 2024
d949572
PID record file creation
Aug 16, 2024
75bbd1f
fixed typo
Aug 18, 2024
a5fe62b
updating configure.ac to print path to python
Aug 18, 2024
f5256a6
compile regex update
Aug 18, 2024
04fbdba
adding .local to new $HOME
Aug 18, 2024
0fa9af4
Merging in testing branch. Now using UUID V7 when available
Aug 19, 2024
d427ed0
moving to TAG_VERSION xalt-3.1
Aug 19, 2024
46477db
Support for vista compute node names (i123-456)
Aug 31, 2024
741f83d
adding XALT_GIT_VERSION report to configure
Sep 1, 2024
0abe987
check with -e for .git
Sep 1, 2024
906c788
Update README.new
Oct 14, 2024
9f2737e
moving to TAG_VERSION xalt-3.1.1
Oct 14, 2024
a6bf9f5
Merging new XALT version
Oct 29, 2024
f5a07d9
Merge remote-tracking branch 'origin/main' into 2024_10_build
Oct 30, 2024
1d75f26
Merge remote-tracking branch 'myfork/2024_10_build'
Oct 30, 2024
867c6b7
Removing XALT_ALWAYS_START modification
ScreamingPigeon Oct 31, 2024
741a2e0
Modified PKG filter, and updated versioning
ScreamingPigeon Oct 31, 2024
69997c9
Merge pull request #2 from ScreamingPigeon/reversion
ScreamingPigeon Nov 13, 2024
3773a52
Removed artefacts from Merge conflict
Nov 13, 2024
531725e
Removed artefacts from Merge conflict
Nov 13, 2024
1ea69d8
Fixing typo in regex
Nov 13, 2024
939004f
Fixing typo in regex
Nov 13, 2024
536ffe1
Fixing typo in regex
Nov 13, 2024
57d6f1b
Fixing typo in regex
Nov 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.0.2
3.1.1
7 changes: 6 additions & 1 deletion Config/Delta_Config.py
Original file line number Diff line number Diff line change
Expand Up @@ -220,9 +220,9 @@
# Note that sys, os, re, and subprocess can not be tracked due to the way that python tracking works.
# TODO modify these paths
python_pkg_patterns = [
{ 'k_s' : 'SKIP', 'kind' : 'path', 'patt' : r"^[^/]" }, # SKIP all built-in packages
{ 'k_s' : 'SKIP', 'kind' : 'name', 'patt' : r"^_" }, # SKIP names that start with a underscore
{ 'k_s' : 'SKIP', 'kind' : 'name', 'patt' : r".*\." }, # SKIP all names that are divided with periods: a.b.
{ 'k_s' : 'SKIP', 'kind' : 'name', 'patt' : r"\/sw\/external\/python\/anaconda3_[^/]*\/.*"}, # Skip anaconda3 builtins
{ 'k_s' : 'KEEP', 'kind' : 'path', 'patt' : r".*conda\/.*" }, # KEEP all packages installed by users
{ 'k_s' : 'KEEP', 'kind' : 'path', 'patt' : r".*\/site-packages\/.*" }, # KEEP all site-packages
{ 'k_s' : 'KEEP', 'kind' : 'path', 'patt' : r"^\/delta/scratch\/.*" }, # KEEP all packages the system project directories
Expand All @@ -232,4 +232,9 @@
{ 'k_s' : 'SKIP', 'kind' : 'path', 'patt' : r"^\/opt" }, # SKIP all python packages in /opt except for ones in .*/site-packages/
{ 'k_s' : 'SKIP', 'kind' : 'path', 'patt' : r"^\/home" }, # SKIP all other packages in user locations
{ 'k_s' : 'SKIP', 'kind' : 'path', 'patt' : r"^\/work" }, # SKIP all other packages in user locations
{ 'k_s' : 'SKIP', 'kind' : 'path', 'patt' : r"^[^/]" } # SKIP all built-in packages

]



42 changes: 39 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,15 @@ effective, and systematic way.

## Original Documentation

Installation and Use of XALT is provided at https://xalt.readthedocs.io website.
* Documentation: https://xalt.readthedocs.org
* GitHub: https://github.com/xalt/xalt


## XALT Mailing list

* mailto:xalt-users@lists.sourceforge.net.

Please go to https://sourceforge.net/projects/xalt/lists/xalt-users to join.


# NCSA SPIN Summer 2024 Documentation
Expand All @@ -55,6 +63,7 @@ If you want the XALT module to be always available, simply include the changes t
XALT is located in `/sw/workload/` on Delta. The source (this repository) is in `/sw/workload/xalt2/xalt_src` and the executables are in `/sw/workload/xalt2/xalt`.

Each build of XALT requires a configuration file. The configuration file is in [Delta_config.py](https://github.com/ScreamingPigeon/xalt/blob/main/Config/Delta_Config.py).
Note: XALT tracks linking on all hostnames, so both compute and login nodes.

Relevant information on configuring XALT can be found here
- [Downloading XALT and Configuring it for your site](https://xalt.readthedocs.io/en/latest/020_site_configuration.html)
Expand Down Expand Up @@ -146,13 +155,39 @@ A condensed explanation of the key idea behind XALT is available [here](https://

The main changes in this fork are
1. XALT was segfaulting when wrapped around `lsof` with debugging on. This was fixed in XALT 3.0.3, but this was forked from 3.0.2 and had a near-identical fix.
2. This fork of XALT supports creating start records for ALL PROCESSES as opposed to just MPI jobs. This can be achieved by setting `XALT_ALWAYS_CREATE_START=yes` in your environment. This has been included in the modulefile
2. (No longer available) This fork of XALT supports creating start records for ALL PROCESSES as opposed to just MPI jobs. This can be achieved by setting `XALT_ALWAYS_CREATE_START=yes` in your environment. This has been included in the modulefile
3. Comments around signal handling in [`src/libxalt/xalt_initialize.c`](https://github.com/ScreamingPigeon/xalt/blob/main/src/libxalt/xalt_initialize.c).
4. Inclusion of a custom config, build script, modulefile, epilog script, and a python cli-tool


### Miscellaneous Notes

#### Symlinks
##### Pre-Execution Filtering

The XALT filters uses the path of the target used to build the symlink, as opposed to the path of the link itself. For example, if you have the rules
- KEEP, `/usr/bin/gcc`
- SKIP, `/sw/*`

and the following file in `/sw/workload/xalt/`
```
lrwxrwxrwx 1 prakhar7 root 12 Jul 23 11:38 gcc -> /usr/bin/gcc

```
XALT uses the `/usr/bin/gcc` path while filtering.

##### Record Generation
Run Records contain references to the symlink's path
```
"cmdlineA": ["/sw/workload/xalt2/gcc"],
```

However, in the `UserT` key, we see
```
"exec_path": "/usr/bin/gcc",
```
Therefore run records capture both paths

#### Profiling

XALT comes with a special build flag `--with-tmpdir=` which allows the user to specify the directory for intermediate logs, as opposed to the default which is `/dev/shm`. Attempting to use $HOME in this flag leads to signifcant slowdowns
Expand Down Expand Up @@ -262,4 +297,5 @@ trap sighandler TERM

### Existing Issues
- The generation of link records is not consistent among different compilers. Possibly due to the order in which $PATH is set. Seems to work with the `/bin/gcc` and the aocc module. Link records do not generate with the gcc module
- Need to turn on tracking for compilers on login nodes.
- Need to turn on tracking for compilers on login nodes.
- The `$APPTAINER_BINDPATH` variable set in the modulefile interferes with building containers. Builds fail due to lack of a mount point for these directories.
19 changes: 19 additions & 0 deletions README.new
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
XALT 3.0+
(3.0.1) * PR60: allow --with-primeNumber=0 to not generated numbered sub-directories
(3.0.2) * Add icx, ifx and icpx to list of otherCmplrA[]
* Avoid generating extra end records when a process forks.
Only generate an end record when the pid is the same as in myinit().
* Issue #63: Wrap the pre_ingest_filter and pkgFilter libraries in XALTdb.py
* Issue #63: Test that the pre_ingest_filter and pkgFilter libraries as late as possible
* Issue #63: Make *.in.py files produce a msg that they should not be run. Instead
run the installed version.
(3.0.3) * Force shells like bash, csh, etc be ignored
(3.0.4) * Change configure.ac to run all tests before erroring out
* SKIP all shells in src/tmpl/xalt_config.py
XALT 3.1+
(3.1) * Using UUID Version 7 when the routine getentropy() is available.
(3.1.1) * Add support for TACC's vista compute node names. (i123-456)
* using -e flag to check for .git not -d



Loading