Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make executable.storage contain exec text itself? #1090

Open
appassionate opened this issue May 12, 2023 · 4 comments
Open

make executable.storage contain exec text itself? #1090

appassionate opened this issue May 12, 2023 · 4 comments

Comments

@appassionate
Copy link

appassionate commented May 12, 2023

Hi!
pyiron handle the total submit script as run_queue.sh and "bin/executable.sh" in resource path.
Is it possible to read the executable.sh content in resource path and save it to the executable.storage?
Since the executable.sh is just an very short text, if job submitted in remote resource by pysqa, another executable in the remote should be pre-determined in remote resource path, which seems to be a little inconvient.

thanks.

@jan-janssen
Copy link
Member

@appassionate the idea of having the remote executables is that a research group could share them between all users, so that they only need to be defined once. Still we never got around to implement an automatic look up of executables on a remote compute clusters. In the same way we could handle the remote look up of queuing systems. Finally, one argument to keep the executables located on the cluster is to be able to debug pyiron from the command line when necessary.

@appassionate
Copy link
Author

appassionate commented May 12, 2023

@appassionate the idea of having the remote executables is that a research group could share them between all users, so that they only need to be defined once. Still we never got around to implement an automatic look up of executables on a remote compute clusters. In the same way we could handle the remote look up of queuing systems. Finally, one argument to keep the executables located on the cluster is to be able to debug pyiron from the command line when necessary.

Thanks for your detailed reply!

My point is that job.executable actually can be translated to a text after processed by pyiron job method.
The current implementation is that executable.storage still contain some "stateful variable" (in my opinion) such as
storage.version, storage.name which is related to a special resource path in some hpc-cluster. It does work very well, but the most direct way to set executable might be just writing out a exec.sh file (from resource template) by job.executable.storage into job working_directory.

@pmrv
Copy link
Contributor

pmrv commented Jun 28, 2023

Just to clarify (I'll likely won't get to working on it soon):

In your proposed model it would go roughly like this:

  1. Job is submitted/run
  2. pyiron looks up executable script from resources and saves them in HDF of job
  3. pyiron writes queue submission script which calls python -m pyiron ...
  4. that code then writes the saved script from HDF into the working directory and runs it

@appassionate
Copy link
Author

appassionate commented Jun 29, 2023

Just to clarify (I'll likely won't get to working on it soon):

In your proposed model it would go roughly like this:

  1. Job is submitted/run
  2. pyiron looks up executable script from resources and saves them in HDF of job
  3. pyiron writes queue submission script which calls python -m pyiron ...
  4. that code then writes the saved script from HDF into the working directory and runs it

Yeah, I agree it will be a low-priority issue, thanks.

best wishes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants