aiidateam / aiida-resource-registry

Resource registry for easy setup computer and code
2 stars 6 forks source link

Why codes are (again) located under computers? #17

Open yakutovicha opened 7 months ago

yakutovicha commented 7 months ago

Previously, we have decided to decouple codes from computers. In this repository, they are brought back together again.

Unfortunately, I missed this part when the repository was introduced. What is the reason for that?

unkcpz commented 7 months ago

Previously, we have decided to decouple codes from computers.

I don't think this is true previously for the aiida-code-registry. For each code it still computer specified by the name of code such as in this folder https://github.com/aiidateam/aiida-code-registry/tree/master/daint.cscs.ch/codes, it has cp2k-9.1-hybrid.yaml and cp2k-9.1-multicore.yaml. In this repo, it just put the file in the folder under computer without the different file name.

I think the main point is that the filepath_executable is hard to parameterize as a field of template.

yakutovicha commented 7 months ago

In this repo, it just put the file in the folder under computer without the different file name.

That is exactly what I referred to. Before the structure was: domain/computers domain/codes

Now the structure became: domain/computers/codes

To simplify the setup we agreed to keep codes alongside computers. Otherwise, we run into combinatorial problems (too many combinations of computers and codes).

unkcpz commented 7 months ago

Otherwise, we run into combinatorial problems (too many combinations of computers and codes).

But you still have the same problem for the code setup configs before, you need distinguish the hybrid with multicore, for GPU/CPU seperately.

yakutovicha commented 7 months ago

Otherwise, we run into combinatorial problems (too many combinations of computers and codes).

But you still have the same problem for the code setup configs before, you need distinguish the hybrid with multicore, for GPU/CPU seperately.

Not always, since you can use the CPU codes on the GPU partition. We often do that.

Also, some codes are simply not working on GPU, so they will have to be duplicated.

unkcpz commented 6 months ago

Not always, since you can use the CPU codes on the GPU partition. We often do that.

My apologize for missing this comment. I didn't realize this use case and it is a strong example that codes located under computers is not a good decision.

I'd like to take couple examples to see how much we can simplify by putting it inside/outside with the computer: