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

Feature: Refactor as Single Program and add Sampler for Multiple Simulations #112

Open
wants to merge 23 commits into
base: SingleProgramAndSampler
Choose a base branch
from

Conversation

XanthronWriter
Copy link

Changes Proposed:

  1. Simplified Command Execution:
    The command structure for propti has been enhanced to offer greater ease of use. Users can now initiate the program by simply entering propti followed by the desired subcommand name in the terminal. These changes have been implemented while maintaining the integrity of the existing codebase.

  2. Introduction of Sampler Functionality:
    This pull request introduces an advanced sampler feature that enables the creation of multiple simulations using a single input file. Users can define various parameters to be utilized in the simulations. The sampler functionality is designed to enhance user convenience and efficiency.

Features:

  • Simulations with Varied Parameters:
    The sampler feature allows the generation of multiple simulations, each with different parameters. The values of these parameters are determined by the chosen algorithm.
  • Job File Generation:
    For each simulation created, customized job files are generated. These job files can incorporate varying settings tailored to the specific simulation.
  • Templates:
    Templates can now be copied from the provided jobs directory.
  • Initiate and Monitor Jobs:
    A unified command has been added to initiate and monitor all jobs simultaneously. This enhancement simplifies the management of simulation execution.

Now, executing the sup programs is as simple as typing propti run
<args>.

To enable this functionality, the folder structure has been modified.
The library and sub programs have been relocated to their respective
folders.

As a result, minor changes were made to the imports.

Furthermore, a setup file has been included for future program
distribution.
Removed requirements.txt since it is redundant because of setup.py.
Moved main() in __init__ to __main__ so the whole library does not
have to be loaded. This improves performances.
Create, start, cancel and monitor jobs created with the sampler with
ease. It currently only works for Slurm jobs.
- Setup now reads the __init__ file to retrieve the version number.
  So the the library does not get loaded and ask for packages that may
  not have been installed yet.
- The package can now be installed properly.
rework of the job system by making it more modular so it is easier to
implement a different scheduler.
@XanthronWriter XanthronWriter added the enhancement New feature or request label Aug 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant