Conference notes for 2025 07 01 - TACC/Lmod GitHub Wiki
Lmod Zoom Mtg July 1st
- Q/A
- The theme of this meeting is
- Release of Lmod Internal Code docs
- what the %$^@!#& is going on with the Big Cache Branch?
- Lmod Internal Code documentation
- Now provides a walking tour through the code for module load foo/1.0
- Amazing work by Matthew Cawood to force different AI Agents to deliver readable docs.
- Detailed overview of how things like mcp and mname work. The core magic of Lmod.
- Lmod readthedocs
- Lmod 8.7.63 released
- Internal data structures like dbT where rebuild everytime a dependent module was loaded
- Complete rewrite of how dependencies are checked.
- Better handling of how code strings are serialized. Things like escapes and double quotes.
- Old Dependency checking
- Bet you didn't know that Lmod checks dependencies on load and unload.
- Lmod used to re-read and evaluate modulefiles to check dependencies.
- New Dependency checking
- Now dependencies are recorded in the ModuleTable for each module that has them
- This is much much faster then the old way.
Big Cache results from Ward Poelmans in Brussels
- Trick to clear caches:
echo 3 > /proc/sys/vm/drop_caches
- Fake case with 1 module that depends_on() 299 modules
| Lmod version |
Total Time |
| 8.7.55: |
40.2 seconds |
| 8.7.63: |
5.2 seconds |
| BigCache: |
2.7 seconds |
- Detailed results for big cache branch
| Name |
count |
Total Time (seconds) |
| main |
1 |
2.7237679958344 |
| post_cmd |
1 |
0.61693596839905 |
| Shell:expand(varT) |
1 |
0.59209012985229 |
| Cache:build |
1 |
0.42909407615662 |
| performDependencyCk |
1 |
0.0017750263214111 |
| check_deps |
299 |
0.001509428024292 |
Question: Is using the big cache (includes text of modules) worth it?