Skip to content

Commit eea6fbd

Browse files
committed
substitute curl for gromacs.
I was unable to install gromacs. Spack concretized for 89 minutes. I suppose spack was having a good time, but I was not amused! Signed-off-by: vsoch <[email protected]>
1 parent f7f062f commit eea6fbd

File tree

2 files changed

+11
-14
lines changed

2 files changed

+11
-14
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ We want to:
1414
1. Generate software graphs for some cluster (fluxion JGF) (this is done with [compspec](https://github.com/compspec/compspec)
1515
2. Register N clusters to a tool (should be written as a python module)
1616
3. Tool would have ability to select clusters from resources known, return
17-
4. Need graphical reprsentation (json) of each cluster - this will be used with the LLM inference
17+
4. Need graphical representation (json) of each cluster - this will be used with the LLM inference
1818

1919
See [examples/fractale](examples/fractale) for a detailed walk-through of the above.
2020

examples/fractale/README.md

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,26 +28,23 @@ fractale generate --cluster A spack /home/vanessa/Desktop/Code/spack
2828
This is the step where we want to say "Run gromacs on 2-4 nodes with these requirements." Since we haven't formalized a way to do that, I'm going to start with a flux jobspec, and then add attributes that can be used to search our subsystems. For example, I generated [software-gromacs.json](software-gromacs.json) with:
2929

3030
```bash
31-
flux submit --dry-run --setattr=requires.software=spack:gromacs gmx | jq
31+
flux submit --dry-run --setattr=requires.software=spack:curl gmx | jq
3232
```
3333

34-
Note that the important part of that is:
34+
Note that the important part of that (in yaml) is:
3535

36-
```json
37-
"attributes": {
38-
"system": {
39-
"requires": {
40-
"software": "gromacs"
41-
}
42-
}
43-
},
36+
```yaml
37+
requires:
38+
software:
39+
- name: curl
40+
type: binary
4441
```
4542
46-
This is going to say "search subsystems that are of type software looking for gromacs." In practice, this looks for root nodes where the type is "software," which would be the case for spack or environment modules. This file can be json or yaml. Then we ask to satisfy. Either of these will work:
43+
This is a list of software requirements, where each entry can have multiple criteria, but all items in the list must match a software graph for it to pass. E.g., we can say a cluster subsystem requires _two_ matches (two different software libraries). This is going to say "search subsystems that are of type software looking for curl." In practice, this looks for root nodes where the type is "software," which would be the case for spack or environment modules. This file can be json or yaml. Then we ask to satisfy. Right now we are requiring that all items be under the same software subsystem (e.g., spack or environment modules) but we could change that. Either of these will work:
4744
4845
```bash
49-
fractale satisfy ./examples/fractale/software-gromacs.yaml
50-
fractale satisfy ./examples/fractale/software-gromacs.json
46+
fractale satisfy ./examples/fractale/software-curl.yaml
47+
fractale satisfy ./examples/fractale/software-curl.json
5148
```
5249

5350
By default, the above assumes subsystems located in the fractale home. If you want to adjust that, set `fractale --config-dir=<path> satisfy...` to adjust that (and note you will need to have generated the tree here. What we basically do with satisfy is build a database with tables for:

0 commit comments

Comments
 (0)