Skip to content

Geneformer #472

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

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

Geneformer #472

laraPPr opened this issue Dec 6, 2024 · 8 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
@PetrKralCZ
Copy link
Collaborator

@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!

@boegel
Copy link
Contributor

boegel commented Jan 22, 2025

Temporary workaround to get Geneformer installed while support for source_deps is not installed yet:

eb git-lfs-3.5.1.eb -r
module load git-lfs/3.5.1
eb --fetch --from-pr 21994
eb --from-pr 21994 -r

@boegel
Copy link
Contributor

boegel commented Jan 22, 2025

@boegel
Copy link
Contributor

boegel commented Jan 30, 2025

@PetrKralCZ How much time did you spend on this more-or-less one prior to looking into implementing support for source_deps in framework?

@PetrKralCZ
Copy link
Collaborator

PetrKralCZ commented Jan 31, 2025

I think it took 2 days.

PetrKralCZ added a commit that referenced this issue Feb 5, 2025
@boegel
Copy link
Contributor

boegel commented Feb 18, 2025

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