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

Geneformer #472

Open
2 tasks
laraPPr opened this issue Dec 6, 2024 · 3 comments · May be fixed by easybuilders/easybuild-easyconfigs#21994
Open
2 tasks

Geneformer #472

laraPPr opened this issue Dec 6, 2024 · 3 comments · May be fixed by easybuilders/easybuild-easyconfigs#21994
Assignees
Labels
difficulty: easy software that should be easy to support new new software priority: ASAP Python site:ugent Software installation request for UGent Tier-2

Comments

@laraPPr
Copy link
Collaborator

laraPPr commented Dec 6, 2024

@laraPPr laraPPr added difficulty: easy software that should be easy to support new new software priority: ASAP Python site:ugent Software installation request for UGent Tier-2 labels Dec 6, 2024
@PetrKralCZ PetrKralCZ self-assigned this Dec 9, 2024
PetrKralCZ added a commit that referenced this issue Dec 9, 2024
@boegel
Copy link
Contributor

boegel commented Dec 16, 2024

@PetrKralCZ Can you summarize here what the problem is with the draft easyconfig for Geneformer?

PetrKralCZ added a commit that referenced this issue Dec 17, 2024
@boegel
Copy link
Contributor

boegel commented Jan 8, 2025

@PetrKralCZ We should look into implementing support for source_dependencies, so we can make sure that git-lfs is available when the source tarball for Geneformer is being created. If not, the model.safetensors file will not be the actual contents of the file, but a placeholder with metadata that tells git-lfs where to get the actual file...

Maybe it's better to use source_deps as name for this easyconfig parameter, since we'll soon start migrating towards a more consistent set of easyconfig parameter names, see also easybuilders/easybuild-framework#4464

Implementing support for source_deps can be done by:

  • adding a new general easyconfig parameter source_deps to easybuild/framework/easyconfig/default.py, see the "DEPENDENCIES easyconfig parameters" section around line 168;
  • picking up on source_deps in the fetch_step method in easybuild/framework/easyblock.py, something like:
def fetch_step(...):

    source_deps = self.cfg['source_deps']
    pre_fetch_env = None
    # load modules for source dependencies (if any)
    if source_deps:
        pre_fetch_env = copy.deepcopy(os.environ)
        source_deps_mod_names = ...
        self.modules_tool.load(source_deps_mod_names)

    ...  # current body of fetch_step

    # restore environment (unload source dependency modules)
    if pre_fetch_env:
        restore_env(pre_fetch_env)

To facilitate getting the module names for the source dependencies, it's probably easiest to update the parse method in easybuild/framework/easyconfig/easyconfig.py to also parse source_deps, as is already done for dependencies, builddependencies, etc.

Do let me know if you need any further help with this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
difficulty: easy software that should be easy to support new new software priority: ASAP Python site:ugent Software installation request for UGent Tier-2
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants