diff --git a/Python_CLI/README.md b/Python_CLI/README.md deleted file mode 100644 index 8992cc8b75ff20629ef14400c592a5855b75b8d4..0000000000000000000000000000000000000000 --- a/Python_CLI/README.md +++ /dev/null @@ -1,176 +0,0 @@ -# lamec_ml: job script generator - -*currently in prototype stage.* - -Automatically generate module statements based on software dependencies. -Current support: - -+ **DEEP** - - DDP - - HeAT - - DeepSpeed - - Horovod - - TensorFlow -+ **JURECA** - - DDP - - DeepSpeed - - HeAT - - Horovod - - RayTune -+ **JUWELS** - - DDP -+ **LUMI** - - DDP -+ **VEGA** - - Basilisk - -## Requirements - -TODO. - -## Installation - -TODO. - -## lamec_ml usage - -``` -./lamec_ml --help -``` - -displays the command line interface: - -``` -usage: ./lamec_ml [-h] <access token> {eval,gen} ... - -positional arguments: - {eval,gen} - eval evaluate directives in a script - gen generate a module block - -options: - -h, --help show this help message and exit -``` - -## Gen sub-command - -``` -./lamec_ml gen --help -``` - -displays the command line interface for the `gen` sub-command: - -``` -usage: ./lamec_ml gen [-h] <access token> [-o OUTPUT] system software [software ...] - -positional arguments: - access token access token - system name of system - software list of software - -options: - -h, --help show this help message and exit - -o OUTPUT, --output OUTPUT - write to file -``` - -The `gen` sub-command allows users to generate module statements based on `system` and `software`. - -``` -./lamec_ml gen <access token> deep ddp heat -``` - -outputs - -``` -#MODULES BEGIN deep ddp,heat -ml --force purge -ml use $OTHERSTAGES -ml Stages/2022 GCC/11.2.0 OpenMPI/4.1.2 cuDNN/8.3.1.22-CUDA-11.5 NCCL/2.11.4-CUDA-11.5 Python/3.9.6 -#MODULES END -``` - -The `gen` sub-command generates a *module block* which opens with `#MODULES BEGIN system software` and closes with `#MODULES END`. -These are called directives and can be further manipulated with the `eval` sub-command. - -## Eval sub-command - -The `eval` sub-command evaluates directives in a script by parsing the module directives. - -``` -./lamec_ml eval --help -``` - -displays the command line interface for the `eval` sub-command - -``` -usage: ./lamec_ml eval [-h] <access token> [--add-software ADD_SOFTWARE [ADD_SOFTWARE ...]] [--remove-software REMOVE_SOFTWARE] [--alt-system ALT_SYSTEM] [-o OUTPUT] - script - -positional arguments: - script script containing directives to be evaluated - -options: - -h, --help show this help message and exit - --add-software ADD_SOFTWARE [ADD_SOFTWARE ...] - add new software - --remove-software REMOVE_SOFTWARE - remove software - --alt-system ALT_SYSTEM - use an alternative system - -o OUTPUT, --output OUTPUT - write to file -``` - -If we have the following script called `myscript.sh` - -``` -#SBATCH... - -#MODULES BEGIN jureca raytune -ml --force purge -ml Stages/2022 GCC/11.2.0 OpenMPI/4.1.2 PyTorch/1.11-CUDA-11.5 torchvision/0.12.0-CUDA-11.5 -#MODULES END -``` - -then - -``` -./lamec_ml eval <access token> --add-software=ddp myscript.sh -``` - -outputs - -``` -#MODULES BEGIN jureca raytune,ddp -ml --force purge -ml Stages/2022 GCC/11.2.0 OpenMPI/4.1.2 PyTorch/1.11-CUDA-11.5 torchvision/0.12.0-CUDA-11.5 NVHPC/22.3 ParaStationMPI/5.5.0-1-mt NCCL/2.12.7-1-CUDA-11.5 cuDNN/8.3.1.22-CUDA-11.5 Python/3.9.6 libaio/0.3.112 HDF5/1.12.1-serial mpi-settings/CUDA -#MODULES END -``` - -which can be written directly to a file using the `-o` option. The `--remove-software` and `--alt-system` work the same way. - -Additionally, users can simply add a module directive into their script themselves - -``` -#SBATCH... - -#MODULES BEGIN jureca raytune -#MODULES END -``` - -and - -``` -./lamec_ml eval <access token> myscript.sh -``` - -will evaluate the directives - -``` -#MODULES BEGIN deep ddp -ml --force purge -ml use $OTHERSTAGES -ml Stages/2022 GCC/11.2.0 OpenMPI/4.1.2 cuDNN/8.3.1.22-CUDA-11.5 NCCL/2.11.4-CUDA-11.5 Python/3.9.6 -#MODULES END -``` diff --git a/Python_CLI/__pycache__/parse.cpython-310.pyc b/Python_CLI/__pycache__/parse.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d87064478207762a263f7b815ad784a1ee499639 Binary files /dev/null and b/Python_CLI/__pycache__/parse.cpython-310.pyc differ diff --git a/Python_CLI/examples/create_example.json b/Python_CLI/examples/create_example.json index 2dcf4899bf69a004c6a12902069d015d7f7314c3..310ba13a7e1b7ef163c847b87794e4fe057cfc0f 100644 --- a/Python_CLI/examples/create_example.json +++ b/Python_CLI/examples/create_example.json @@ -1,9 +1,8 @@ { - "which": "create", "account": "johndoe@johndoe.com", - "time": "00:10:00", "nodes": "1", + "partition": "dp-esb", "system": "deep", "software": "ddp", - "exe": "test.py" + "executable": "test.py" } diff --git a/Python_CLI/lamec_ml b/Python_CLI/lamec_ml deleted file mode 100755 index d67cc930b18e2fa410a4bdb16f38e8d68b12ce1e..0000000000000000000000000000000000000000 --- a/Python_CLI/lamec_ml +++ /dev/null @@ -1,280 +0,0 @@ -#!/usr/bin/env python3 - -# need to: pip install --upgrade python-gitlab - -import gitlab -import sys -import json - -class Module: - """ - Global variables - """ - BEGIN = '#MODULES BEGIN ' - END = '#MODULES END' - -def read_access_to_repository(): - return gitlab \ - .Gitlab(url='https://gitlab.jsc.fz-juelich.de') \ - .projects \ - .get('CoE-RAISE/FZJ/lamec-oa') - -def fetch_startscript(system, software, repo): - # TODO: make a pull request to standardize the naming convention - # - # if using DEEP and DDP the path should be: - # - # deep/ddp_startscript.sh - # - # I assume that python-gitlab throws an exception if the path doesn't exist. - - path = None - system = system.lower() - software = software.lower() - - if system == 'deep': - if software == 'ddp': - path = 'scripts/Deep_DDP/DDP_startscript_deep.sh' - elif software == 'deepspeed': - path = 'scripts/Deep_DeepSpeed/DS_startscript_deep.sh' - elif software == 'heat': - path = 'scripts/Deep_HeAT/HeAT_startscript_deep.sh' - elif software == 'horovod': - path = 'scripts/Deep_Horovod/Hor_startscript_deep.sh' - elif software == 'tensorflow': - path = 'scripts/Deep_TensorFlow/TF_startscript_deep.sh' - elif system == 'jureca': - if software == 'ddp': - path = 'scripts/Jureca_DDP/DDP_startscript.sh' - elif software == 'deepspeed': - path = 'scripts/Jureca_DeepSpeed/DS_startscript_deep.sh' - elif software == 'heat': - path = 'scripts/Jureca_HeAT/HeAT_startscript_deep.sh' - elif software == 'horovod': - path = 'scripts/Jureca_Horovod/Hor_startscript_deep.sh' - elif software == 'graphcore': - path = 'scripts/Jureca_Graphcore/GC_startscript.sh' - elif software == 'raytune': - path = 'scripts/Jureca_RayTune/jureca_run_ray.sh' - elif system == 'juwels': - if software == 'ddp': - path = 'scripts/Juwels_DDP/env_batch.sh' - elif system == 'lumi': - if software == 'ddp': - path = 'scripts/LUMI_DDP/env_startscript.sh' - elif system == 'vega': - if software == 'basilisk': - path = 'scripts/Vega_ Basilisk/basilisk_pde.sh' - - - # Software is not supported - if path is None: - print('\'%s\' is not supported for \'%s\'' % \ - (software, system), file=sys.stderr) - sys.exit(1) - - return repo.files.get(file_path=path, ref='main').decode().decode('utf-8') - -def new_module_commands(): - return {'purge': set(), 'use': set(), 'modules': list()} - -def parse_module_commands(startscript: str, module_commands: dict): - - def is_module_keyword(token: str): - return token == 'module' or token == 'ml' - - lines = startscript.splitlines() - for line in lines: - tokens = line.split() - if len(tokens) != 0 and is_module_keyword(tokens[0]): - if 'purge' in tokens: - module_commands['purge'].add(line.strip()) - elif 'use' in tokens: - module_commands['use'].add(line.strip()) - else: - for t in tokens: - if not is_module_keyword(t): - if t not in module_commands['modules']: - module_commands['modules'].append(t) - -def generate_module_statements(system, software, repo): - module_commands = new_module_commands() - - startscript = fetch_startscript(system, software, repo) - parse_module_commands(startscript, module_commands) - - module_statements = '' - for purge in module_commands['purge']: - module_statements += (purge + '\n') - - for use in module_commands['use']: - module_statements += (use + '\n') - - module_statements += 'ml' - for module in module_commands['modules']: - module_statements += (' ' + module) - module_statements += '\n' - - return module_statements - -def generate_module_block(system, software, repo): - module_block = Module.BEGIN - module_block += (system + ' ' + software + '\n') - module_block += generate_module_statements(system, software, repo) - module_block += (Module.END + '\n\n') - return module_block - -def eval_module_directives(args, repo): - has_begin = False - has_end = False - lines = args.script.split('\n') - for line in lines: - if Module.BEGIN in line: - has_begin = True - if Module.END in line: - has_end = True - - # file doesn't contain a valid module block - if not (has_begin and has_end): - return args.script - - script = '' - skip_line = False - for line in lines: - if Module.BEGIN in line: - #TODO: handle error when there is no software specified. - system, software = line.strip().replace(Module.BEGIN, '').split(' ') - script += generate_module_block(system, software, repo) - skip_line = True - elif Module.END in line: - skip_line = False - else: - if not skip_line: - script += (line + '\n') - - return script - -def update_command(args): - repo = read_access_to_repository() - script = eval_module_directives(args, repo) - print(script, end='') - -def generate_param_block(args): - if args.system == 'jureca': - partition = 'dc-gpu' - gpus_pernode = 4 - elif args.system == 'juwels': - partition = 'dc-gpu' - gpus_pernode = 4 - elif args.system == 'deep': - partition = 'dc-gpu' - gpus_pernode = 1 - else: - partition = '' - gpus_pernode = 1 - - if args.software == 'ddp': - ntask_pernode = 1 - else: - ntask_pernode = gpus_pernode - - param_block = '#!/bin/bash\n' - param_block += '#SBATCH --job-name=job\n' + '#SBATCH --output=job.out\n' + '#SBATCH --error=job.err\n' - param_block += '#SBATCH --account=' + str(args.account) + '\n' - param_block += '#SBATCH --partition=' + partition + '\n' - param_block += '#SBATCH --nodes=' + str(args.nodes) + '\n' - param_block += '#SBATCH --gpus-per-node=' + str(gpus_pernode) + '\n' - param_block += '#SBATCH --ntasks-per-node=' + str(ntask_pernode) + '\n' - param_block += '#SBATCH --cpus-per-task=1' + '\n' - param_block += '#SBATCH --exclusive' + '\n' - param_block += '#SBATCH --gres=gpu:' + str(gpus_pernode) + '\n\n' - - return param_block - -def generate_env_block(system, software, repo): - #environment variable, export 1.CUDA_VISIBLE_DEVICES - #source python venv - env_block = '' - startscript = fetch_startscript(system, software, repo) - lines = startscript.splitlines() - for line in lines: - tokens = line.split() - if len(tokens) > 1 and tokens[0] == 'export' and 'CUDA_VISIBLE_DEVICES' in tokens[1]: - env_block += line.strip() - - env_block += '\n' - if system == 'jureca' and software == 'ddp': - env_block += 'source your/env_path/bin/activate\n' - elif system == 'deep' and software == 'ddp': - env_block += 'source your/env_path/bin/activate\n' - elif system == 'juwels': - env_block += 'source your/env_path/bin/activate\n' - else: - env_block += 'source your/env_path/bin/activate\n' - - return env_block - -def generate_launch_block(exe, system, software, repo): - system = system.lower() - launch_block = '\n' - def keyword_exist(tokens=list()): - keywords=['srun','nnodes','nproc_per_node','rdzv'] - result = False - for kw in keywords: - result = True in (kw in item for item in tokens) - if result == True: - break - - return result - - software = software.lower() - if software == 'ddp': - startscript = fetch_startscript(system, software, repo) - lines = startscript.splitlines() - for line in lines: - tokens = line.split() - if len(tokens)!=0 and '#' not in tokens[0] and keyword_exist(tokens): - launch_block +=line + '\n' - launch_block += (exe +'"') - launch_block += '\n' - return launch_block - -def create_command(args): - repo = read_access_to_repository() - param_block = generate_param_block(args) - module_block = generate_module_block(args.system, args.software, repo) - env_block = generate_env_block(args.system, args.software, repo) - launch_block = generate_launch_block(args.exe, args.system, args.software, repo) - outp = param_block + module_block + env_block + launch_block - print(outp, end='') - -class Args(object): - - def __init__(self, argv): - - if len(argv) == 1: - data = sys.stdin - args = json.load(data) - else: - args = json.loads(argv[1]) - - for arg in args: - setattr(self, arg, args[arg]) - - if args['which'] == "create": - args['software'].lower() - args['system'].lower() - -def main(): - - args = Args(sys.argv) - - if args.which == 'create': - create_command(args) - elif args.which == 'update': - update_command(args) - - sys.exit(0) - -if __name__ == '__main__': - main() diff --git a/Python_CLI/old_lamec_ml b/Python_CLI/old_lamec_ml deleted file mode 100644 index b13b8051bf1ae9e0b4f260d78bea3ed96342b67c..0000000000000000000000000000000000000000 --- a/Python_CLI/old_lamec_ml +++ /dev/null @@ -1,333 +0,0 @@ -#!/usr/bin/env python3 - -# need to: pip install --upgrade python-gitlab - -import gitlab -import sys, socket -import argparse - -class Module: - """ - Global variables - """ - BEGIN = '#MODULES BEGIN ' - END = '#MODULES END' - -def read_access_to_repository(): - return gitlab \ - .Gitlab(url='https://gitlab.jsc.fz-juelich.de') \ - .projects \ - .get('CoE-RAISE/FZJ/lamec-oa') - -def fetch_startscript(system: str, software: str, repo: str) -> str: - # TODO: make a pull request to standardize the naming convention - # - # if using DEEP and DDP the path should be: - # - # deep/ddp_startscript.sh - # - # I assume that python-gitlab throws an exception if the path doesn't exist. - - path = None - software = software.lower() - system = system.lower() - - if system == 'deep': - if software == 'ddp': - path = 'scripts/Deep_DDP/DDP_startscript_deep.sh' - elif software == 'deepspeed': - path = 'scripts/Deep_DeepSpeed/DS_startscript_deep.sh' - elif software == 'heat': - path = 'scripts/Deep_HeAT/HeAT_startscript_deep.sh' - elif software == 'horovod': - path = 'scripts/Deep_Horovod/Hor_startscript_deep.sh' - elif software == 'tensorflow': - path = 'scripts/Deep_TensorFlow/TF_startscript_deep.sh' - elif system == 'jureca': - if software == 'ddp': - path = 'scripts/Jureca_DDP/DDP_startscript.sh' - elif software == 'deepspeed': - path = 'scripts/Jureca_DeepSpeed/DS_startscript_deep.sh' - elif software == 'heat': - path = 'scripts/Jureca_HeAT/HeAT_startscript_deep.sh' - elif software == 'horovod': - path = 'scripts/Jureca_Horovod/Hor_startscript_deep.sh' - elif software == 'graphcore': - path = 'scripts/Jureca_Graphcore/GC_startscript.sh' - elif software == 'raytune': - path = 'scripts/Jureca_RayTune/jureca_run_ray.sh' - elif system == 'juwels': - if software == 'ddp': - path = 'scripts/Juwels_DDP/env_batch.sh' - elif system == 'lumi': - if software == 'ddp': - path = 'scripts/LUMI_DDP/env_startscript.sh' - elif system == 'vega': - if software == 'basilisk': - path = 'scripts/Vega_ Basilisk/basilisk_pde.sh' - # Software is not supported - if path is None: - print('\'%s\' is not supported for \'%s\'' % \ - (software, system), file=sys.stderr) - sys.exit(1) - - return repo.files.get(file_path=path, ref='main').decode().decode('utf-8') - -def new_module_commands(): - return {'purge': set(), 'use': set(), 'modules': list()} - -def parse_module_commands(startscript: str, module_commands: dict): - - def is_module_keyword(token: str): - return token == 'module' or token == 'ml' - - lines = startscript.splitlines() - for line in lines: - tokens = line.split() - if len(tokens) != 0 and is_module_keyword(tokens[0]): - if 'purge' in tokens: - module_commands['purge'].add(line.strip()) - elif 'use' in tokens: - module_commands['use'].add(line.strip()) - else: - for t in tokens: - if not is_module_keyword(t): - if t not in module_commands['modules']: - module_commands['modules'].append(t) - -def generate_module_statements(system: str, software=list()): - repo = read_access_to_repository() - module_commands = new_module_commands() - - for sw in software: - startscript = fetch_startscript(system, sw, repo) - parse_module_commands(startscript, module_commands) - - module_statements = '' - for purge in module_commands['purge']: - module_statements += (purge + '\n') - - for use in module_commands['use']: - module_statements += (use + '\n') - - module_statements += 'ml' - for module in module_commands['modules']: - module_statements += (' ' + module) - module_statements += '\n' - - return module_statements - -def generate_module_block(system: str, software=list()): - module_block = Module.BEGIN - module_block += (system + ' ') - n = len(software) - 1 - for i, s in enumerate(software): - if i != n: - module_block += (s + ',') - else: - module_block += (s + '\n') - module_block += generate_module_statements(system, software) - module_block += (Module.END + '\n\n') - return module_block - -def eval_module_directives(script: str, add_software=[], remove_software=[], alt_system=None): - has_begin = False - has_end = False - with open(script, 'r') as f: - lines = f.readlines() - for line in lines: - if Module.BEGIN in line: - has_begin = True - if Module.END in line: - has_end = True - - if not (has_begin and has_end): - return - - module_block = '' - skip_line = False - for line in lines: - if Module.BEGIN in line: - #TODO: handle error when there is no software specified. - system, software = line.strip().replace(Module.BEGIN, '').split(' ') - if alt_system: - system = alt_system - software = software.split(',') - for s in add_software: - if s not in software: - software.append(s) - software = [s for s in software if s not in remove_software] - module_block += generate_module_block(system, software) - skip_line = True - elif Module.END in line: - skip_line = False - else: - if not skip_line: - module_block += line - - return module_block - -def eval_command(args): - alt_system = None - add_software = list() - remove_software = list() - if args.alt_system: - alt_system = args.alt_system - if args.add_software: - add_software = args.add_software - if args.remove_software: - remove_software = args.remove_software - module_block = eval_module_directives(args.script, add_software, remove_software, alt_system) - if args.output: - with open(args.output, 'w') as f: - f.write(module_block) - else: - print(module_block, end='') - -def generate_param_block(args): - partition = args.partition - if args.system == 'jureca': - gpus_pernode = 4 - elif args.system == 'juwels': - gpus_pernode = 4 - elif args.system == 'deep': - gpus_pernode = 1 - else: - gpus_pernode = 1 - - if args.software == 'ddp': - ntask_pernode = 1 - else: - ntask_pernode = gpus_pernode - - param_block = '#!/bin/bash\n' - param_block += '#SBATCH --job-name=job\n' + '#SBATCH --output=job.out\n' + '#SBATCH --error=job.err\n' - param_block += '#SBATCH --account=' + str(args.account) + '\n' - param_block += '#SBATCH --partition=' + partition + '\n' - param_block += '#SBATCH --nodes=' + str(args.nnode) + '\n' - param_block += '#SBATCH --gpus-per-node=' + str(gpus_pernode) + '\n' - param_block += '#SBATCH --ntasks-per-node=' + str(ntask_pernode) + '\n' - param_block += '#SBATCH --cpus-per-task=1' + '\n' - param_block += '#SBATCH --exclusive' + '\n' - param_block += '#SBATCH --gres=gpu:' + str(gpus_pernode) + '\n\n' - - return param_block - -def generate_env_block(system: str, software=list()): - #environment variable, export 1.CUDA_VISIBLE_DEVICES - #source python venv - repo = read_access_to_repository() - sw = software[0] #for now!!! - env_block = '' - startscript = fetch_startscript(system, sw, repo) - lines = startscript.splitlines() - for line in lines: - tokens = line.split() - if len(tokens) > 1 and tokens[0] == 'export' and 'CUDA_VISIBLE_DEVICES' in tokens[1]: - env_block += line.strip() - - env_block += '\n' - if system == 'jureca' and sw == 'ddp': - env_block += 'source your/env_path/bin/activate\n' - elif system == 'deep' and sw == 'ddp': - env_block += 'source your/env_path/bin/activate\n' - elif system == 'juwels': - env_block += 'source your/env_path/bin/activate\n' - else: - env_block += 'source your/env_path/bin/activate\n' - - return env_block - -def generate_launch_block(exe:str,system: str, software=list()): - system = system.lower() - repo = read_access_to_repository() - launch_block = '\n' - def keyword_exist(tokens=list()): - keywords=['srun','nnodes','nproc_per_node','rdzv'] - result = False - for kw in keywords: - result = True in (kw in item for item in tokens) - if result == True: - break - - return result - - for sw in software: - sw = sw.lower() - if sw == 'ddp': - startscript = fetch_startscript(system, sw, repo) - lines = startscript.splitlines() - for line in lines: - tokens = line.split() - if len(tokens)!=0 and '#' not in tokens[0] and keyword_exist(tokens): - launch_block +=line + '\n' - launch_block += exe +'"' - else: #!!! - launch_block += 'srun ' + exe - - #!!!launch_block += exe +'"' - launch_block += '\n' - return launch_block - -def gen_command(args): - module_block = generate_module_block(args.system, args.software) - - param_block = generate_param_block(args) - env_block = generate_env_block(args.system, args.software) - launch_block=generate_launch_block(args.exe,args.system, args.software) - outp = param_block + module_block + env_block + launch_block - - if args.output: - with open(args.output, 'w') as f: - f.write(outp) - else: - print(outp, end='') - -def main(): - - cli = argparse.ArgumentParser(prog=sys.argv[0]) - - sub = cli.add_subparsers() - - cli_eval = sub.add_parser('eval', help='evaluate directives in a script') - cli_gene = sub.add_parser('gen', help='generate a module block') - - cli_eval.set_defaults(which='eval') - cli_gene.set_defaults(which='gen') - - cli_eval.add_argument('script', help='script containing directives to be evaluated') - cli_eval.add_argument('--add-software', help='add new software', nargs='+') - cli_eval.add_argument('--remove-software', help='remove software') - cli_eval.add_argument('--alt-system', help='use an alternative system') - cli_eval.add_argument('-o', '--output', help='write to file') - - cli_gene.add_argument('-a','--account', default=' ', help='') #!!! - cli_gene.add_argument('--wall_time', default='00:10:00', help='') - cli_gene.add_argument('-n','--nnode', default=' ', help='fill in number of nodes')#!!! - cli_gene.add_argument('-e','--exe', default='exe.py', help='') #!!! - - cli_gene.add_argument('-sys','--system', help='name of system') - cli_gene.add_argument('-par','--partition', help='name of partition') - cli_gene.add_argument('-sw','--software', help='list of software', nargs='+') - cli_gene.add_argument('-o', '--output', help='write to file') - - args = cli.parse_args() - - if args.software[0] == 'Pytorch-DDP': - args.software[0] = 'ddp' - - args.software[0] = args.software[0].lower() - args.system = args.system.lower() - - if args.system == None: #!!! - args.system = socket.gethostname().split('.')[-1] - - if args.which == 'eval': - eval_command(args) - elif args.which == 'gen': - gen_command(args) - - sys.exit(0) - -if __name__ == '__main__': - main() diff --git a/README.md b/README.md deleted file mode 100644 index 8b137891791fe96927ad78e64b0aad7bded08bdc..0000000000000000000000000000000000000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ - diff --git a/lamec b/lamec new file mode 100755 index 0000000000000000000000000000000000000000..5d5502be5a494d8c817c70dfcd96623bd40de432 --- /dev/null +++ b/lamec @@ -0,0 +1,168 @@ +#!/usr/bin/env python3 + +import sys +import json +import os + +class Module: + """ + Global variables + """ + BEGIN = '#MODULES BEGIN ' + END = '#MODULES END' + +def new_module_commands(): + return {'purge': set(), 'use': set(), 'modules': list()} + +def parse_module_commands(args, module_commands): + + def is_module_keyword(token: str): + return token == 'module' or token == 'ml' + + lines = args['startscript'].splitlines() + for line in lines: + tokens = line.split() + if len(tokens) != 0 and is_module_keyword(tokens[0]): + if 'purge' in tokens: + module_commands['purge'].add(line.strip()) + elif 'use' in tokens: + module_commands['use'].add(line.strip()) + else: + for t in tokens: + if not is_module_keyword(t): + if t not in module_commands['modules']: + module_commands['modules'].append(t) + +def generate_module_statements(args): + module_commands = new_module_commands() + + parse_module_commands(args, module_commands) + + module_statements = '' + for purge in module_commands['purge']: + module_statements += (purge + '\n') + + for use in module_commands['use']: + module_statements += (use + '\n') + + module_statements += 'ml' + for module in module_commands['modules']: + module_statements += (' ' + module) + module_statements += '\n' + + return module_statements + +def generate_module_block(args): + module_block = Module.BEGIN + module_block += (args['system'] + ' ' + args['software'] + '\n') + module_block += generate_module_statements(args) + module_block += (Module.END + '\n\n') + return module_block + +def generate_param_block(args): + if args['system'] == 'jureca': + partition = 'dc-gpu' + gpus_pernode = 4 + elif args['system'] == 'juwels': + partition = 'dc-gpu' + gpus_pernode = 4 + elif args['system'] == 'deep': + partition = 'dc-gpu' + gpus_pernode = 1 + else: + partition = '' + gpus_pernode = 1 + + if args['software'] == 'ddp': + ntask_pernode = 1 + else: + ntask_pernode = gpus_pernode + + param_block = '#!/bin/bash\n' + param_block += ('#SBATCH --job-name=job\n' + + '#SBATCH --output=job.out\n' + + '#SBATCH --error=job.err\n') + param_block += '#SBATCH --account=' + str(args['account']) + '\n' + param_block += '#SBATCH --partition=' + partition + '\n' + param_block += '#SBATCH --nodes=' + str(args['nodes']) + '\n' + param_block += '#SBATCH --gpus-per-node=' + str(gpus_pernode) + '\n' + param_block += '#SBATCH --ntasks-per-node=' + str(ntask_pernode) + '\n' + param_block += '#SBATCH --cpus-per-task=1' + '\n' + param_block += '#SBATCH --exclusive' + '\n' + param_block += '#SBATCH --gres=gpu:' + str(gpus_pernode) + '\n\n' + + return param_block + +def generate_env_block(args): + #environment variable, export 1.CUDA_VISIBLE_DEVICES + #source python venv + env_block = '' + lines = args['startscript'].splitlines() + for line in lines: + tokens = line.split() + if (len(tokens) > 1 and tokens[0] == 'export' + and 'CUDA_VISIBLE_DEVICES' in tokens[1]): + env_block += line.strip() + + env_block += '\n' + if args['system'] == 'jureca' and args['software'] == 'ddp': + env_block += 'source your/env_path/bin/activate\n' + elif args['system'] == 'deep' and args['software'] == 'ddp': + env_block += 'source your/env_path/bin/activate\n' + elif args['system'] == 'juwels': + env_block += 'source your/env_path/bin/activate\n' + else: + env_block += 'source your/env_path/bin/activate\n' + + return env_block + +def generate_launch_block(args): + launch_block = '\n' + def keyword_exist(tokens=list()): + keywords=['srun','nnodes','nproc_per_node','rdzv'] + result = False + for kw in keywords: + result = True in (kw in item for item in tokens) + if result == True: + break + + return result + + if args['software'] == 'ddp': + lines = args['startscript'].splitlines() + for line in lines: + tokens = line.split() + if len(tokens)!=0 and '#' not in tokens[0] and keyword_exist(tokens): + launch_block +=line + '\n' + launch_block += (args['executable'] +'"') + launch_block += '\n' + return launch_block + +def parse(args): + param_block = generate_param_block(args) + module_block = generate_module_block(args) + env_block = generate_env_block(args) + launch_block = generate_launch_block(args) + outp = param_block + module_block + env_block + launch_block + print(outp, end='') + + +def main(): + if len(sys.argv) == 1: + args = json.load(sys.stdin) + else: + args = json.loads(sys.argv[1]) + + path = os.path.join('scripts', f"{args['system']}_{args['software']}") + with open(os.path.join(path, 'lamec.json'), 'r') as f: + config = json.load(f) + if 'startscript' in config: + with open(os.path.join(path, config['startscript']), 'r') as f: + args['startscript'] = f.read() + parse(args) + elif 'template' in config: + # TODO: move template code here + pass + +if __name__ == '__main__': + main() diff --git a/scripts/CTEAMD_DDP/DDP_startscript.sh b/scripts/cteamd_ddp/DDP_startscript.sh similarity index 100% rename from scripts/CTEAMD_DDP/DDP_startscript.sh rename to scripts/cteamd_ddp/DDP_startscript.sh diff --git a/scripts/CTEAMD_DDP/README.md b/scripts/cteamd_ddp/README.md similarity index 100% rename from scripts/CTEAMD_DDP/README.md rename to scripts/cteamd_ddp/README.md diff --git a/scripts/CTEAMD_DDP/createENV.sh b/scripts/cteamd_ddp/createENV.sh similarity index 100% rename from scripts/CTEAMD_DDP/createENV.sh rename to scripts/cteamd_ddp/createENV.sh diff --git a/scripts/CTEAMD_DDP/installWheels.sh b/scripts/cteamd_ddp/installWheels.sh similarity index 100% rename from scripts/CTEAMD_DDP/installWheels.sh rename to scripts/cteamd_ddp/installWheels.sh diff --git a/scripts/cteamd_ddp/lamec.json b/scripts/cteamd_ddp/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..b01e2a42779523237355d264b672d08662d78d79 --- /dev/null +++ b/scripts/cteamd_ddp/lamec.json @@ -0,0 +1 @@ +{"startscript": "DDP_startscript.sh"} diff --git a/scripts/CTEAMD_DDP/reqs.txt b/scripts/cteamd_ddp/reqs.txt similarity index 100% rename from scripts/CTEAMD_DDP/reqs.txt rename to scripts/cteamd_ddp/reqs.txt diff --git a/scripts/CTEAMD_DeepSpeed/DS_config.json b/scripts/cteamd_deepspeed/DS_config.json similarity index 100% rename from scripts/CTEAMD_DeepSpeed/DS_config.json rename to scripts/cteamd_deepspeed/DS_config.json diff --git a/scripts/CTEAMD_DeepSpeed/DS_startscript.sh b/scripts/cteamd_deepspeed/DS_startscript.sh similarity index 100% rename from scripts/CTEAMD_DeepSpeed/DS_startscript.sh rename to scripts/cteamd_deepspeed/DS_startscript.sh diff --git a/scripts/CTEAMD_DeepSpeed/README.md b/scripts/cteamd_deepspeed/README.md similarity index 100% rename from scripts/CTEAMD_DeepSpeed/README.md rename to scripts/cteamd_deepspeed/README.md diff --git a/scripts/CTEAMD_DeepSpeed/createENV.sh b/scripts/cteamd_deepspeed/createENV.sh similarity index 100% rename from scripts/CTEAMD_DeepSpeed/createENV.sh rename to scripts/cteamd_deepspeed/createENV.sh diff --git a/scripts/CTEAMD_DeepSpeed/installWheels.sh b/scripts/cteamd_deepspeed/installWheels.sh similarity index 100% rename from scripts/CTEAMD_DeepSpeed/installWheels.sh rename to scripts/cteamd_deepspeed/installWheels.sh diff --git a/scripts/cteamd_deepspeed/lamec.json b/scripts/cteamd_deepspeed/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..3e0d85e0a5b7492fde2b3c0322f2aaf6e278f440 --- /dev/null +++ b/scripts/cteamd_deepspeed/lamec.json @@ -0,0 +1 @@ +{"startscript": "DS_startscript.sh"} \ No newline at end of file diff --git a/scripts/CTEAMD_DeepSpeed/reqs.txt b/scripts/cteamd_deepspeed/reqs.txt similarity index 100% rename from scripts/CTEAMD_DeepSpeed/reqs.txt rename to scripts/cteamd_deepspeed/reqs.txt diff --git a/scripts/CTEAMD_HeAT/HeAT_startscript.sh b/scripts/cteamd_heat/HeAT_startscript.sh similarity index 100% rename from scripts/CTEAMD_HeAT/HeAT_startscript.sh rename to scripts/cteamd_heat/HeAT_startscript.sh diff --git a/scripts/CTEAMD_HeAT/README.md b/scripts/cteamd_heat/README.md similarity index 100% rename from scripts/CTEAMD_HeAT/README.md rename to scripts/cteamd_heat/README.md diff --git a/scripts/CTEAMD_HeAT/createENV.sh b/scripts/cteamd_heat/createENV.sh similarity index 100% rename from scripts/CTEAMD_HeAT/createENV.sh rename to scripts/cteamd_heat/createENV.sh diff --git a/scripts/CTEAMD_HeAT/installWheels.sh b/scripts/cteamd_heat/installWheels.sh similarity index 100% rename from scripts/CTEAMD_HeAT/installWheels.sh rename to scripts/cteamd_heat/installWheels.sh diff --git a/scripts/cteamd_heat/lamec.json b/scripts/cteamd_heat/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..b86e1f1ef931afeb1d76b2d40e9086fb3b6383f9 --- /dev/null +++ b/scripts/cteamd_heat/lamec.json @@ -0,0 +1 @@ +{"startscript": "HeAT_startscript.sh"} \ No newline at end of file diff --git a/scripts/CTEAMD_HeAT/reqs.txt b/scripts/cteamd_heat/reqs.txt similarity index 100% rename from scripts/CTEAMD_HeAT/reqs.txt rename to scripts/cteamd_heat/reqs.txt diff --git a/scripts/CTEAMD_Horovod/Hor_startscript.sh b/scripts/cteamd_horovod/Hor_startscript.sh similarity index 100% rename from scripts/CTEAMD_Horovod/Hor_startscript.sh rename to scripts/cteamd_horovod/Hor_startscript.sh diff --git a/scripts/CTEAMD_Horovod/README.md b/scripts/cteamd_horovod/README.md similarity index 100% rename from scripts/CTEAMD_Horovod/README.md rename to scripts/cteamd_horovod/README.md diff --git a/scripts/CTEAMD_Horovod/createENV.sh b/scripts/cteamd_horovod/createENV.sh similarity index 100% rename from scripts/CTEAMD_Horovod/createENV.sh rename to scripts/cteamd_horovod/createENV.sh diff --git a/scripts/CTEAMD_Horovod/installWheels.sh b/scripts/cteamd_horovod/installWheels.sh similarity index 100% rename from scripts/CTEAMD_Horovod/installWheels.sh rename to scripts/cteamd_horovod/installWheels.sh diff --git a/scripts/cteamd_horovod/lamec.json b/scripts/cteamd_horovod/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..89f780bbf3e44e34add22eb330141a39fcd6aadd --- /dev/null +++ b/scripts/cteamd_horovod/lamec.json @@ -0,0 +1 @@ +{"startscript": "Hor_startscript.sh"} \ No newline at end of file diff --git a/scripts/CTEAMD_Horovod/reqs.txt b/scripts/cteamd_horovod/reqs.txt similarity index 100% rename from scripts/CTEAMD_Horovod/reqs.txt rename to scripts/cteamd_horovod/reqs.txt diff --git a/scripts/Cyclone_Horovod/.gitkeep b/scripts/cyclone_basilisk/.gitkeep similarity index 100% rename from scripts/Cyclone_Horovod/.gitkeep rename to scripts/cyclone_basilisk/.gitkeep diff --git a/scripts/Cyclone_basilisk/basilisk_cfd.sh b/scripts/cyclone_basilisk/basilisk_cfd.sh similarity index 100% rename from scripts/Cyclone_basilisk/basilisk_cfd.sh rename to scripts/cyclone_basilisk/basilisk_cfd.sh diff --git a/scripts/cyclone_basilisk/lamec.json b/scripts/cyclone_basilisk/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..1064dc7fa865bf41c2bb546218a75c84d3972532 --- /dev/null +++ b/scripts/cyclone_basilisk/lamec.json @@ -0,0 +1 @@ +{"startscript": "basilisk_cfd.sh"} \ No newline at end of file diff --git a/scripts/Cyclone_basilisk/.gitkeep b/scripts/cyclone_horovod/.gitkeep similarity index 100% rename from scripts/Cyclone_basilisk/.gitkeep rename to scripts/cyclone_horovod/.gitkeep diff --git a/scripts/Cyclone_Horovod/FNO_launch.sh b/scripts/cyclone_horovod/FNO_launch.sh similarity index 100% rename from scripts/Cyclone_Horovod/FNO_launch.sh rename to scripts/cyclone_horovod/FNO_launch.sh diff --git a/scripts/cyclone_horovod/lamec.json b/scripts/cyclone_horovod/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..212f4d1f2a70bf54baf8e81fe5a1a044522ed4b0 --- /dev/null +++ b/scripts/cyclone_horovod/lamec.json @@ -0,0 +1 @@ +{"startscript": "FNO_launch.sh"} \ No newline at end of file diff --git a/scripts/Deep_DDP/DDP_startscript_deep.sh b/scripts/deep_ddp/DDP_startscript_deep.sh similarity index 100% rename from scripts/Deep_DDP/DDP_startscript_deep.sh rename to scripts/deep_ddp/DDP_startscript_deep.sh diff --git a/scripts/Deep_DDP/README.md b/scripts/deep_ddp/README.md similarity index 100% rename from scripts/Deep_DDP/README.md rename to scripts/deep_ddp/README.md diff --git a/scripts/Deep_DDP/conda_torch.sh b/scripts/deep_ddp/conda_torch.sh similarity index 100% rename from scripts/Deep_DDP/conda_torch.sh rename to scripts/deep_ddp/conda_torch.sh diff --git a/scripts/Deep_DDP/createEnv.sh b/scripts/deep_ddp/createEnv.sh similarity index 100% rename from scripts/Deep_DDP/createEnv.sh rename to scripts/deep_ddp/createEnv.sh diff --git a/scripts/deep_ddp/lamec.json b/scripts/deep_ddp/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..8e4595add2c83b22847dd952abab945a614dedab --- /dev/null +++ b/scripts/deep_ddp/lamec.json @@ -0,0 +1 @@ +{"startscript": "DDP_startscript_deep.sh"} \ No newline at end of file diff --git a/scripts/Deep_DDP/reqs.txt b/scripts/deep_ddp/reqs.txt similarity index 100% rename from scripts/Deep_DDP/reqs.txt rename to scripts/deep_ddp/reqs.txt diff --git a/scripts/Deep_DeepSpeed/DS_config.json b/scripts/deep_deepspeed/DS_config.json similarity index 100% rename from scripts/Deep_DeepSpeed/DS_config.json rename to scripts/deep_deepspeed/DS_config.json diff --git a/scripts/Deep_DeepSpeed/DS_startscript_deep.sh b/scripts/deep_deepspeed/DS_startscript_deep.sh similarity index 100% rename from scripts/Deep_DeepSpeed/DS_startscript_deep.sh rename to scripts/deep_deepspeed/DS_startscript_deep.sh diff --git a/scripts/Deep_DeepSpeed/README.md b/scripts/deep_deepspeed/README.md similarity index 100% rename from scripts/Deep_DeepSpeed/README.md rename to scripts/deep_deepspeed/README.md diff --git a/scripts/Deep_DeepSpeed/createEnv.sh b/scripts/deep_deepspeed/createEnv.sh similarity index 100% rename from scripts/Deep_DeepSpeed/createEnv.sh rename to scripts/deep_deepspeed/createEnv.sh diff --git a/scripts/deep_deepspeed/lamec.json b/scripts/deep_deepspeed/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..b1572ed4b5ac84409ff6cb91e575344301c84b95 --- /dev/null +++ b/scripts/deep_deepspeed/lamec.json @@ -0,0 +1 @@ +{"startscript": "DS_startscript_deep.sh"} \ No newline at end of file diff --git a/scripts/Deep_DeepSpeed/reqs.txt b/scripts/deep_deepspeed/reqs.txt similarity index 100% rename from scripts/Deep_DeepSpeed/reqs.txt rename to scripts/deep_deepspeed/reqs.txt diff --git a/scripts/Deep_HeAT/HeAT_startscript_deep.sh b/scripts/deep_heat/HeAT_startscript_deep.sh similarity index 100% rename from scripts/Deep_HeAT/HeAT_startscript_deep.sh rename to scripts/deep_heat/HeAT_startscript_deep.sh diff --git a/scripts/Deep_HeAT/README.md b/scripts/deep_heat/README.md similarity index 100% rename from scripts/Deep_HeAT/README.md rename to scripts/deep_heat/README.md diff --git a/scripts/Deep_HeAT/createEnv.sh b/scripts/deep_heat/createEnv.sh similarity index 100% rename from scripts/Deep_HeAT/createEnv.sh rename to scripts/deep_heat/createEnv.sh diff --git a/scripts/Deep_HeAT/example_mnist_heat.py b/scripts/deep_heat/example_mnist_heat.py similarity index 100% rename from scripts/Deep_HeAT/example_mnist_heat.py rename to scripts/deep_heat/example_mnist_heat.py diff --git a/scripts/deep_heat/lamec.json b/scripts/deep_heat/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..d1bf1b27df9fd3984cd046733eeccea2901e07b3 --- /dev/null +++ b/scripts/deep_heat/lamec.json @@ -0,0 +1 @@ +{"startscript": "HeAT_startscript_deep.sh"} \ No newline at end of file diff --git a/scripts/Deep_HeAT/reqs.txt b/scripts/deep_heat/reqs.txt similarity index 100% rename from scripts/Deep_HeAT/reqs.txt rename to scripts/deep_heat/reqs.txt diff --git a/scripts/Deep_Horovod/Hor_startscript_deep.sh b/scripts/deep_horovod/Hor_startscript_deep.sh similarity index 100% rename from scripts/Deep_Horovod/Hor_startscript_deep.sh rename to scripts/deep_horovod/Hor_startscript_deep.sh diff --git a/scripts/Deep_Horovod/README.md b/scripts/deep_horovod/README.md similarity index 100% rename from scripts/Deep_Horovod/README.md rename to scripts/deep_horovod/README.md diff --git a/scripts/Deep_Horovod/createEnv.sh b/scripts/deep_horovod/createEnv.sh similarity index 100% rename from scripts/Deep_Horovod/createEnv.sh rename to scripts/deep_horovod/createEnv.sh diff --git a/scripts/deep_horovod/lamec.json b/scripts/deep_horovod/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..4aff71d30c25f064280724e030d6fd813c4c4c5d --- /dev/null +++ b/scripts/deep_horovod/lamec.json @@ -0,0 +1 @@ +{"startscript": "Hor_startscript_deep.sh"} \ No newline at end of file diff --git a/scripts/Deep_Horovod/pytorch_mnist.py b/scripts/deep_horovod/pytorch_mnist.py similarity index 100% rename from scripts/Deep_Horovod/pytorch_mnist.py rename to scripts/deep_horovod/pytorch_mnist.py diff --git a/scripts/Deep_Horovod/pytorch_synthetic_benchmark.py b/scripts/deep_horovod/pytorch_synthetic_benchmark.py similarity index 100% rename from scripts/Deep_Horovod/pytorch_synthetic_benchmark.py rename to scripts/deep_horovod/pytorch_synthetic_benchmark.py diff --git a/scripts/Deep_Horovod/reqs.txt b/scripts/deep_horovod/reqs.txt similarity index 100% rename from scripts/Deep_Horovod/reqs.txt rename to scripts/deep_horovod/reqs.txt diff --git a/scripts/Deep_TensorFlow/Create_Jupyter_deepv.ipynb b/scripts/deep_tensorflow/Create_Jupyter_deepv.ipynb similarity index 100% rename from scripts/Deep_TensorFlow/Create_Jupyter_deepv.ipynb rename to scripts/deep_tensorflow/Create_Jupyter_deepv.ipynb diff --git a/scripts/Deep_TensorFlow/README.md b/scripts/deep_tensorflow/README.md similarity index 100% rename from scripts/Deep_TensorFlow/README.md rename to scripts/deep_tensorflow/README.md diff --git a/scripts/Deep_TensorFlow/TF_startscript_deep.sh b/scripts/deep_tensorflow/TF_startscript_deep.sh similarity index 100% rename from scripts/Deep_TensorFlow/TF_startscript_deep.sh rename to scripts/deep_tensorflow/TF_startscript_deep.sh diff --git a/scripts/Deep_TensorFlow/createEnv_TF.sh b/scripts/deep_tensorflow/createEnv_TF.sh similarity index 100% rename from scripts/Deep_TensorFlow/createEnv_TF.sh rename to scripts/deep_tensorflow/createEnv_TF.sh diff --git a/scripts/Deep_TensorFlow/jupyterAddKernel.sh b/scripts/deep_tensorflow/jupyterAddKernel.sh similarity index 100% rename from scripts/Deep_TensorFlow/jupyterAddKernel.sh rename to scripts/deep_tensorflow/jupyterAddKernel.sh diff --git a/scripts/Deep_TensorFlow/jupyterCreateKernel.sh b/scripts/deep_tensorflow/jupyterCreateKernel.sh similarity index 100% rename from scripts/Deep_TensorFlow/jupyterCreateKernel.sh rename to scripts/deep_tensorflow/jupyterCreateKernel.sh diff --git a/scripts/deep_tensorflow/lamec.json b/scripts/deep_tensorflow/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..8c582bbd9f2365d3a43ac8c11f538f5b2a79c694 --- /dev/null +++ b/scripts/deep_tensorflow/lamec.json @@ -0,0 +1 @@ +{"startscript": "TF_startscript_deep.sh"} \ No newline at end of file diff --git a/scripts/Deep_TensorFlow/tensorflow2_synthetic_benchmark.py b/scripts/deep_tensorflow/tensorflow2_synthetic_benchmark.py similarity index 100% rename from scripts/Deep_TensorFlow/tensorflow2_synthetic_benchmark.py rename to scripts/deep_tensorflow/tensorflow2_synthetic_benchmark.py diff --git a/scripts/Jureca_DDP/DDP_startscript.sh b/scripts/jureca_ddp/DDP_startscript.sh similarity index 100% rename from scripts/Jureca_DDP/DDP_startscript.sh rename to scripts/jureca_ddp/DDP_startscript.sh diff --git a/scripts/Jureca_DDP/DDP_startscript_container.sh b/scripts/jureca_ddp/DDP_startscript_container.sh similarity index 100% rename from scripts/Jureca_DDP/DDP_startscript_container.sh rename to scripts/jureca_ddp/DDP_startscript_container.sh diff --git a/scripts/Jureca_DDP/README.md b/scripts/jureca_ddp/README.md similarity index 100% rename from scripts/Jureca_DDP/README.md rename to scripts/jureca_ddp/README.md diff --git a/scripts/Jureca_DDP/createContainer.sh b/scripts/jureca_ddp/createContainer.sh similarity index 100% rename from scripts/Jureca_DDP/createContainer.sh rename to scripts/jureca_ddp/createContainer.sh diff --git a/scripts/Jureca_DDP/createEnv.sh b/scripts/jureca_ddp/createEnv.sh similarity index 100% rename from scripts/Jureca_DDP/createEnv.sh rename to scripts/jureca_ddp/createEnv.sh diff --git a/scripts/Jureca_DDP/createEnv_MPI.sh b/scripts/jureca_ddp/createEnv_MPI.sh similarity index 100% rename from scripts/Jureca_DDP/createEnv_MPI.sh rename to scripts/jureca_ddp/createEnv_MPI.sh diff --git a/scripts/Jureca_DDP/fixed_torch_run.py b/scripts/jureca_ddp/fixed_torch_run.py similarity index 100% rename from scripts/Jureca_DDP/fixed_torch_run.py rename to scripts/jureca_ddp/fixed_torch_run.py diff --git a/scripts/jureca_ddp/lamec.json b/scripts/jureca_ddp/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..a36ad5345ea21cdae8672d53fd40e52ea1cada36 --- /dev/null +++ b/scripts/jureca_ddp/lamec.json @@ -0,0 +1 @@ +{"startscript": "DDP_startscript.sh"} \ No newline at end of file diff --git a/scripts/Jureca_DDP/reqs.txt b/scripts/jureca_ddp/reqs.txt similarity index 100% rename from scripts/Jureca_DDP/reqs.txt rename to scripts/jureca_ddp/reqs.txt diff --git a/scripts/Jureca_DeepSpeed/DS_config.json b/scripts/jureca_deepspeed/DS_config.json similarity index 100% rename from scripts/Jureca_DeepSpeed/DS_config.json rename to scripts/jureca_deepspeed/DS_config.json diff --git a/scripts/Jureca_DeepSpeed/DS_startscript_deep.sh b/scripts/jureca_deepspeed/DS_startscript_deep.sh similarity index 100% rename from scripts/Jureca_DeepSpeed/DS_startscript_deep.sh rename to scripts/jureca_deepspeed/DS_startscript_deep.sh diff --git a/scripts/Jureca_DeepSpeed/README.md b/scripts/jureca_deepspeed/README.md similarity index 100% rename from scripts/Jureca_DeepSpeed/README.md rename to scripts/jureca_deepspeed/README.md diff --git a/scripts/Jureca_DeepSpeed/createEnv.sh b/scripts/jureca_deepspeed/createEnv.sh similarity index 100% rename from scripts/Jureca_DeepSpeed/createEnv.sh rename to scripts/jureca_deepspeed/createEnv.sh diff --git a/scripts/jureca_deepspeed/lamec.json b/scripts/jureca_deepspeed/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..b1572ed4b5ac84409ff6cb91e575344301c84b95 --- /dev/null +++ b/scripts/jureca_deepspeed/lamec.json @@ -0,0 +1 @@ +{"startscript": "DS_startscript_deep.sh"} \ No newline at end of file diff --git a/scripts/Jureca_DeepSpeed/reqs.txt b/scripts/jureca_deepspeed/reqs.txt similarity index 100% rename from scripts/Jureca_DeepSpeed/reqs.txt rename to scripts/jureca_deepspeed/reqs.txt diff --git a/scripts/Jureca_Graphcore/GC_pytorch_mnist.py b/scripts/jureca_graphcore/GC_pytorch_mnist.py similarity index 100% rename from scripts/Jureca_Graphcore/GC_pytorch_mnist.py rename to scripts/jureca_graphcore/GC_pytorch_mnist.py diff --git a/scripts/Jureca_Graphcore/GC_startscript.sh b/scripts/jureca_graphcore/GC_startscript.sh similarity index 100% rename from scripts/Jureca_Graphcore/GC_startscript.sh rename to scripts/jureca_graphcore/GC_startscript.sh diff --git a/scripts/Jureca_Graphcore/README.md b/scripts/jureca_graphcore/README.md similarity index 100% rename from scripts/Jureca_Graphcore/README.md rename to scripts/jureca_graphcore/README.md diff --git a/scripts/jureca_graphcore/lamec.json b/scripts/jureca_graphcore/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..fe05ab67e3c1cffe3df4c751ceec2acfbf9c46b7 --- /dev/null +++ b/scripts/jureca_graphcore/lamec.json @@ -0,0 +1 @@ +{"startscript": "GC_startscript.sh"} \ No newline at end of file diff --git a/scripts/Jureca_HeAT/HeAT_startscript_deep.sh b/scripts/jureca_heat/HeAT_startscript_deep.sh similarity index 100% rename from scripts/Jureca_HeAT/HeAT_startscript_deep.sh rename to scripts/jureca_heat/HeAT_startscript_deep.sh diff --git a/scripts/Jureca_HeAT/README.md b/scripts/jureca_heat/README.md similarity index 100% rename from scripts/Jureca_HeAT/README.md rename to scripts/jureca_heat/README.md diff --git a/scripts/Jureca_HeAT/createEnv.sh b/scripts/jureca_heat/createEnv.sh similarity index 100% rename from scripts/Jureca_HeAT/createEnv.sh rename to scripts/jureca_heat/createEnv.sh diff --git a/scripts/jureca_heat/lamec.json b/scripts/jureca_heat/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..d1bf1b27df9fd3984cd046733eeccea2901e07b3 --- /dev/null +++ b/scripts/jureca_heat/lamec.json @@ -0,0 +1 @@ +{"startscript": "HeAT_startscript_deep.sh"} \ No newline at end of file diff --git a/scripts/Jureca_HeAT/reqs.txt b/scripts/jureca_heat/reqs.txt similarity index 100% rename from scripts/Jureca_HeAT/reqs.txt rename to scripts/jureca_heat/reqs.txt diff --git a/scripts/Jureca_Horovod/Hor_startscript_deep.sh b/scripts/jureca_horovod/Hor_startscript_deep.sh similarity index 100% rename from scripts/Jureca_Horovod/Hor_startscript_deep.sh rename to scripts/jureca_horovod/Hor_startscript_deep.sh diff --git a/scripts/Jureca_Horovod/README.md b/scripts/jureca_horovod/README.md similarity index 100% rename from scripts/Jureca_Horovod/README.md rename to scripts/jureca_horovod/README.md diff --git a/scripts/Jureca_Horovod/createEnv.sh b/scripts/jureca_horovod/createEnv.sh similarity index 100% rename from scripts/Jureca_Horovod/createEnv.sh rename to scripts/jureca_horovod/createEnv.sh diff --git a/scripts/jureca_horovod/lamec.json b/scripts/jureca_horovod/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..4aff71d30c25f064280724e030d6fd813c4c4c5d --- /dev/null +++ b/scripts/jureca_horovod/lamec.json @@ -0,0 +1 @@ +{"startscript": "Hor_startscript_deep.sh"} \ No newline at end of file diff --git a/scripts/Jureca_Horovod/reqs.txt b/scripts/jureca_horovod/reqs.txt similarity index 100% rename from scripts/Jureca_Horovod/reqs.txt rename to scripts/jureca_horovod/reqs.txt diff --git a/scripts/Jureca_LibTorch/MNIST/CMakeLists.txt b/scripts/jureca_libtorch/MNIST/CMakeLists.txt similarity index 100% rename from scripts/Jureca_LibTorch/MNIST/CMakeLists.txt rename to scripts/jureca_libtorch/MNIST/CMakeLists.txt diff --git a/scripts/Jureca_LibTorch/MNIST/LibTorch_startscript.sh b/scripts/jureca_libtorch/MNIST/LibTorch_startscript.sh similarity index 100% rename from scripts/Jureca_LibTorch/MNIST/LibTorch_startscript.sh rename to scripts/jureca_libtorch/MNIST/LibTorch_startscript.sh diff --git a/scripts/Jureca_LibTorch/MNIST/compile.sh b/scripts/jureca_libtorch/MNIST/compile.sh similarity index 100% rename from scripts/Jureca_LibTorch/MNIST/compile.sh rename to scripts/jureca_libtorch/MNIST/compile.sh diff --git a/scripts/Jureca_LibTorch/MNIST/download_mnist.py b/scripts/jureca_libtorch/MNIST/download_mnist.py similarity index 100% rename from scripts/Jureca_LibTorch/MNIST/download_mnist.py rename to scripts/jureca_libtorch/MNIST/download_mnist.py diff --git a/scripts/Jureca_LibTorch/MNIST/mnist.cpp b/scripts/jureca_libtorch/MNIST/mnist.cpp similarity index 100% rename from scripts/Jureca_LibTorch/MNIST/mnist.cpp rename to scripts/jureca_libtorch/MNIST/mnist.cpp diff --git a/scripts/Jureca_LibTorch/README.md b/scripts/jureca_libtorch/README.md similarity index 100% rename from scripts/Jureca_LibTorch/README.md rename to scripts/jureca_libtorch/README.md diff --git a/scripts/Jureca_LibTorch/TorchVision/compile_jpeg.sh b/scripts/jureca_libtorch/TorchVision/compile_jpeg.sh similarity index 100% rename from scripts/Jureca_LibTorch/TorchVision/compile_jpeg.sh rename to scripts/jureca_libtorch/TorchVision/compile_jpeg.sh diff --git a/scripts/Jureca_LibTorch/TorchVision/compile_png.sh b/scripts/jureca_libtorch/TorchVision/compile_png.sh similarity index 100% rename from scripts/Jureca_LibTorch/TorchVision/compile_png.sh rename to scripts/jureca_libtorch/TorchVision/compile_png.sh diff --git a/scripts/Jureca_LibTorch/TorchVision/compile_torchvision.sh b/scripts/jureca_libtorch/TorchVision/compile_torchvision.sh similarity index 100% rename from scripts/Jureca_LibTorch/TorchVision/compile_torchvision.sh rename to scripts/jureca_libtorch/TorchVision/compile_torchvision.sh diff --git a/scripts/jureca_libtorch/lamec.json b/scripts/jureca_libtorch/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..a8d025c21fcf84b3dfc1fc34d94547f4aaa9e5b1 --- /dev/null +++ b/scripts/jureca_libtorch/lamec.json @@ -0,0 +1 @@ +{"startscript": "MNIST/LibTorch_startscript.sh"} \ No newline at end of file diff --git a/scripts/Jureca_RayTune/.gitkeep b/scripts/jureca_raytune/.gitkeep similarity index 100% rename from scripts/Jureca_RayTune/.gitkeep rename to scripts/jureca_raytune/.gitkeep diff --git a/scripts/Jureca_RayTune/README.md b/scripts/jureca_raytune/README.md similarity index 100% rename from scripts/Jureca_RayTune/README.md rename to scripts/jureca_raytune/README.md diff --git a/scripts/Jureca_RayTune/RayTune+DDP/.gitkeep b/scripts/jureca_raytune/RayTune+DDP/.gitkeep similarity index 100% rename from scripts/Jureca_RayTune/RayTune+DDP/.gitkeep rename to scripts/jureca_raytune/RayTune+DDP/.gitkeep diff --git a/scripts/Jureca_RayTune/RayTune+DDP/cifar_tune.py b/scripts/jureca_raytune/RayTune+DDP/cifar_tune.py similarity index 100% rename from scripts/Jureca_RayTune/RayTune+DDP/cifar_tune.py rename to scripts/jureca_raytune/RayTune+DDP/cifar_tune.py diff --git a/scripts/Jureca_RayTune/RayTune+DDP/create_env.sh b/scripts/jureca_raytune/RayTune+DDP/create_env.sh similarity index 100% rename from scripts/Jureca_RayTune/RayTune+DDP/create_env.sh rename to scripts/jureca_raytune/RayTune+DDP/create_env.sh diff --git a/scripts/Jureca_RayTune/RayTune+DDP/jureca_ray_ddp_startscript.sh b/scripts/jureca_raytune/RayTune+DDP/jureca_ray_ddp_startscript.sh similarity index 100% rename from scripts/Jureca_RayTune/RayTune+DDP/jureca_ray_ddp_startscript.sh rename to scripts/jureca_raytune/RayTune+DDP/jureca_ray_ddp_startscript.sh diff --git a/scripts/Jureca_RayTune/Ray_2.4/.gitkeep b/scripts/jureca_raytune/Ray_2.4/.gitkeep similarity index 100% rename from scripts/Jureca_RayTune/Ray_2.4/.gitkeep rename to scripts/jureca_raytune/Ray_2.4/.gitkeep diff --git a/scripts/Jureca_RayTune/Ray_2.4/ASHA/.gitkeep b/scripts/jureca_raytune/Ray_2.4/ASHA/.gitkeep similarity index 100% rename from scripts/Jureca_RayTune/Ray_2.4/ASHA/.gitkeep rename to scripts/jureca_raytune/Ray_2.4/ASHA/.gitkeep diff --git a/scripts/Jureca_RayTune/Ray_2.4/ASHA/cifar_tune_asha.py b/scripts/jureca_raytune/Ray_2.4/ASHA/cifar_tune_asha.py similarity index 100% rename from scripts/Jureca_RayTune/Ray_2.4/ASHA/cifar_tune_asha.py rename to scripts/jureca_raytune/Ray_2.4/ASHA/cifar_tune_asha.py diff --git a/scripts/Jureca_RayTune/Ray_2.4/ASHA/jureca_ray_startscript.sh b/scripts/jureca_raytune/Ray_2.4/ASHA/jureca_ray_startscript.sh similarity index 100% rename from scripts/Jureca_RayTune/Ray_2.4/ASHA/jureca_ray_startscript.sh rename to scripts/jureca_raytune/Ray_2.4/ASHA/jureca_ray_startscript.sh diff --git a/scripts/Jureca_RayTune/Ray_2.4/BOHB/.gitkeep b/scripts/jureca_raytune/Ray_2.4/BOHB/.gitkeep similarity index 100% rename from scripts/Jureca_RayTune/Ray_2.4/BOHB/.gitkeep rename to scripts/jureca_raytune/Ray_2.4/BOHB/.gitkeep diff --git a/scripts/Jureca_RayTune/Ray_2.4/BOHB/cifar_tune_bohb.py b/scripts/jureca_raytune/Ray_2.4/BOHB/cifar_tune_bohb.py similarity index 100% rename from scripts/Jureca_RayTune/Ray_2.4/BOHB/cifar_tune_bohb.py rename to scripts/jureca_raytune/Ray_2.4/BOHB/cifar_tune_bohb.py diff --git a/scripts/Jureca_RayTune/Ray_2.4/BOHB/jureca_ray_startscript.sh b/scripts/jureca_raytune/Ray_2.4/BOHB/jureca_ray_startscript.sh similarity index 100% rename from scripts/Jureca_RayTune/Ray_2.4/BOHB/jureca_ray_startscript.sh rename to scripts/jureca_raytune/Ray_2.4/BOHB/jureca_ray_startscript.sh diff --git a/scripts/Jureca_RayTune/Ray_2.4/PBT/.gitkeep b/scripts/jureca_raytune/Ray_2.4/PBT/.gitkeep similarity index 100% rename from scripts/Jureca_RayTune/Ray_2.4/PBT/.gitkeep rename to scripts/jureca_raytune/Ray_2.4/PBT/.gitkeep diff --git a/scripts/Jureca_RayTune/Ray_2.4/PBT/cifar_tune_pbt.py b/scripts/jureca_raytune/Ray_2.4/PBT/cifar_tune_pbt.py similarity index 100% rename from scripts/Jureca_RayTune/Ray_2.4/PBT/cifar_tune_pbt.py rename to scripts/jureca_raytune/Ray_2.4/PBT/cifar_tune_pbt.py diff --git a/scripts/Jureca_RayTune/Ray_2.4/PBT/jureca_ray_startscript.sh b/scripts/jureca_raytune/Ray_2.4/PBT/jureca_ray_startscript.sh similarity index 100% rename from scripts/Jureca_RayTune/Ray_2.4/PBT/jureca_ray_startscript.sh rename to scripts/jureca_raytune/Ray_2.4/PBT/jureca_ray_startscript.sh diff --git a/scripts/Jureca_RayTune/Ray_2.4/build_ray_env.sh b/scripts/jureca_raytune/Ray_2.4/build_ray_env.sh similarity index 100% rename from scripts/Jureca_RayTune/Ray_2.4/build_ray_env.sh rename to scripts/jureca_raytune/Ray_2.4/build_ray_env.sh diff --git a/scripts/Jureca_RayTune/Ray_2.4/hpo.md b/scripts/jureca_raytune/Ray_2.4/hpo.md similarity index 100% rename from scripts/Jureca_RayTune/Ray_2.4/hpo.md rename to scripts/jureca_raytune/Ray_2.4/hpo.md diff --git a/scripts/Jureca_RayTune/Ray_2.4/hpo.py b/scripts/jureca_raytune/Ray_2.4/hpo.py similarity index 100% rename from scripts/Jureca_RayTune/Ray_2.4/hpo.py rename to scripts/jureca_raytune/Ray_2.4/hpo.py diff --git a/scripts/Jureca_RayTune/cifar_tune.py b/scripts/jureca_raytune/cifar_tune.py similarity index 100% rename from scripts/Jureca_RayTune/cifar_tune.py rename to scripts/jureca_raytune/cifar_tune.py diff --git a/scripts/Jureca_RayTune/cifar_tune_tf.py b/scripts/jureca_raytune/cifar_tune_tf.py similarity index 100% rename from scripts/Jureca_RayTune/cifar_tune_tf.py rename to scripts/jureca_raytune/cifar_tune_tf.py diff --git a/scripts/Jureca_RayTune/create_jureca_env.sh b/scripts/jureca_raytune/create_jureca_env.sh similarity index 100% rename from scripts/Jureca_RayTune/create_jureca_env.sh rename to scripts/jureca_raytune/create_jureca_env.sh diff --git a/scripts/Jureca_RayTune/jureca_run_ray.sh b/scripts/jureca_raytune/jureca_run_ray.sh similarity index 100% rename from scripts/Jureca_RayTune/jureca_run_ray.sh rename to scripts/jureca_raytune/jureca_run_ray.sh diff --git a/scripts/Juwels_DDP/README.md b/scripts/juwels_ddp/README.md similarity index 100% rename from scripts/Juwels_DDP/README.md rename to scripts/juwels_ddp/README.md diff --git a/scripts/Juwels_DDP/container_batch.sh b/scripts/juwels_ddp/container_batch.sh similarity index 100% rename from scripts/Juwels_DDP/container_batch.sh rename to scripts/juwels_ddp/container_batch.sh diff --git a/scripts/Juwels_DDP/container_build.sh b/scripts/juwels_ddp/container_build.sh similarity index 100% rename from scripts/Juwels_DDP/container_build.sh rename to scripts/juwels_ddp/container_build.sh diff --git a/scripts/Juwels_DDP/container_env.sh b/scripts/juwels_ddp/container_env.sh similarity index 100% rename from scripts/Juwels_DDP/container_env.sh rename to scripts/juwels_ddp/container_env.sh diff --git a/scripts/Juwels_DDP/createEnv.sh b/scripts/juwels_ddp/createEnv.sh similarity index 100% rename from scripts/Juwels_DDP/createEnv.sh rename to scripts/juwels_ddp/createEnv.sh diff --git a/scripts/Juwels_DDP/env_batch.sh b/scripts/juwels_ddp/env_batch.sh similarity index 100% rename from scripts/Juwels_DDP/env_batch.sh rename to scripts/juwels_ddp/env_batch.sh diff --git a/scripts/Juwels_DDP/env_build.sh b/scripts/juwels_ddp/env_build.sh similarity index 100% rename from scripts/Juwels_DDP/env_build.sh rename to scripts/juwels_ddp/env_build.sh diff --git a/scripts/Juwels_DDP/fixed_torch_run.py b/scripts/juwels_ddp/fixed_torch_run.py similarity index 100% rename from scripts/Juwels_DDP/fixed_torch_run.py rename to scripts/juwels_ddp/fixed_torch_run.py diff --git a/scripts/Juwels_DDP/install_pyDDP.sh b/scripts/juwels_ddp/install_pyDDP.sh similarity index 100% rename from scripts/Juwels_DDP/install_pyDDP.sh rename to scripts/juwels_ddp/install_pyDDP.sh diff --git a/scripts/juwels_ddp/lamec.json b/scripts/juwels_ddp/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..af5277f77f8cbb767eab6123b61c94a6efecc8da --- /dev/null +++ b/scripts/juwels_ddp/lamec.json @@ -0,0 +1 @@ +{"startscript": "env_batch.sh"} \ No newline at end of file diff --git a/scripts/Juwels_DDP/reqs.txt b/scripts/juwels_ddp/reqs.txt similarity index 100% rename from scripts/Juwels_DDP/reqs.txt rename to scripts/juwels_ddp/reqs.txt diff --git a/scripts/Juwels_Turbulence/Autoencoder_Turbulence.py b/scripts/juwels_turbulence/Autoencoder_Turbulence.py similarity index 100% rename from scripts/Juwels_Turbulence/Autoencoder_Turbulence.py rename to scripts/juwels_turbulence/Autoencoder_Turbulence.py diff --git a/scripts/Juwels_Turbulence/Autoencoder_Turbulence_PINNs.py b/scripts/juwels_turbulence/Autoencoder_Turbulence_PINNs.py similarity index 100% rename from scripts/Juwels_Turbulence/Autoencoder_Turbulence_PINNs.py rename to scripts/juwels_turbulence/Autoencoder_Turbulence_PINNs.py diff --git a/scripts/Juwels_Turbulence/Autoencoder_Turbulence_horv.py b/scripts/juwels_turbulence/Autoencoder_Turbulence_horv.py similarity index 100% rename from scripts/Juwels_Turbulence/Autoencoder_Turbulence_horv.py rename to scripts/juwels_turbulence/Autoencoder_Turbulence_horv.py diff --git a/scripts/Juwels_Turbulence/Autoencoder_Turbulence_olddata.py b/scripts/juwels_turbulence/Autoencoder_Turbulence_olddata.py similarity index 100% rename from scripts/Juwels_Turbulence/Autoencoder_Turbulence_olddata.py rename to scripts/juwels_turbulence/Autoencoder_Turbulence_olddata.py diff --git a/scripts/Juwels_Turbulence/Autoencoder_Turbulence_serial.py b/scripts/juwels_turbulence/Autoencoder_Turbulence_serial.py similarity index 100% rename from scripts/Juwels_Turbulence/Autoencoder_Turbulence_serial.py rename to scripts/juwels_turbulence/Autoencoder_Turbulence_serial.py diff --git a/scripts/Juwels_Turbulence/CAE_loss_serial_vs_par.pdf b/scripts/juwels_turbulence/CAE_loss_serial_vs_par.pdf similarity index 100% rename from scripts/Juwels_Turbulence/CAE_loss_serial_vs_par.pdf rename to scripts/juwels_turbulence/CAE_loss_serial_vs_par.pdf diff --git a/scripts/Juwels_Turbulence/CAE_serial.pdf b/scripts/juwels_turbulence/CAE_serial.pdf similarity index 100% rename from scripts/Juwels_Turbulence/CAE_serial.pdf rename to scripts/juwels_turbulence/CAE_serial.pdf diff --git a/scripts/Juwels_Turbulence/startScript b/scripts/juwels_turbulence/startScript similarity index 100% rename from scripts/Juwels_Turbulence/startScript rename to scripts/juwels_turbulence/startScript diff --git a/scripts/Juwels_Turbulence/startScript_horovod b/scripts/juwels_turbulence/startScript_horovod similarity index 100% rename from scripts/Juwels_Turbulence/startScript_horovod rename to scripts/juwels_turbulence/startScript_horovod diff --git a/scripts/Juwels_Turbulence/startScript_serial b/scripts/juwels_turbulence/startScript_serial similarity index 100% rename from scripts/Juwels_Turbulence/startScript_serial rename to scripts/juwels_turbulence/startScript_serial diff --git a/scripts/LUMI_DDP/README.md b/scripts/lumi_ddp/README.md similarity index 100% rename from scripts/LUMI_DDP/README.md rename to scripts/lumi_ddp/README.md diff --git a/scripts/LUMI_DDP/container_build.sh b/scripts/lumi_ddp/container_build.sh similarity index 100% rename from scripts/LUMI_DDP/container_build.sh rename to scripts/lumi_ddp/container_build.sh diff --git a/scripts/LUMI_DDP/container_env.sh b/scripts/lumi_ddp/container_env.sh similarity index 100% rename from scripts/LUMI_DDP/container_env.sh rename to scripts/lumi_ddp/container_env.sh diff --git a/scripts/LUMI_DDP/container_startscript.sh b/scripts/lumi_ddp/container_startscript.sh similarity index 100% rename from scripts/LUMI_DDP/container_startscript.sh rename to scripts/lumi_ddp/container_startscript.sh diff --git a/scripts/LUMI_DDP/env_build.sh b/scripts/lumi_ddp/env_build.sh similarity index 100% rename from scripts/LUMI_DDP/env_build.sh rename to scripts/lumi_ddp/env_build.sh diff --git a/scripts/LUMI_DDP/env_startscript.sh b/scripts/lumi_ddp/env_startscript.sh similarity index 100% rename from scripts/LUMI_DDP/env_startscript.sh rename to scripts/lumi_ddp/env_startscript.sh diff --git a/scripts/lumi_ddp/lamec.json b/scripts/lumi_ddp/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..089c01bc43a3e6af5c55e5c8e32f3032dde7d7e9 --- /dev/null +++ b/scripts/lumi_ddp/lamec.json @@ -0,0 +1 @@ +{"startscript": "env_startscript.sh"} \ No newline at end of file diff --git a/scripts/LUMI_DDP/reqs.txt b/scripts/lumi_ddp/reqs.txt similarity index 100% rename from scripts/LUMI_DDP/reqs.txt rename to scripts/lumi_ddp/reqs.txt diff --git a/scripts/PizDa_DDP/DDP_startscript b/scripts/pizda_ddp/DDP_startscript similarity index 100% rename from scripts/PizDa_DDP/DDP_startscript rename to scripts/pizda_ddp/DDP_startscript diff --git a/scripts/PizDa_DDP/createENV.sh b/scripts/pizda_ddp/createENV.sh similarity index 100% rename from scripts/PizDa_DDP/createENV.sh rename to scripts/pizda_ddp/createENV.sh diff --git a/scripts/pizda_ddp/lamec.json b/scripts/pizda_ddp/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..5a1dbcb54efde78612dd6d946fb797bd5164b175 --- /dev/null +++ b/scripts/pizda_ddp/lamec.json @@ -0,0 +1 @@ +{"startscript": "DDP_startscript"} \ No newline at end of file diff --git a/scripts/PizDa_DDP/reqs.txt b/scripts/pizda_ddp/reqs.txt similarity index 100% rename from scripts/PizDa_DDP/reqs.txt rename to scripts/pizda_ddp/reqs.txt diff --git a/scripts/Rudens_DDP/.gitkeep b/scripts/rudens_ddp/.gitkeep similarity index 100% rename from scripts/Rudens_DDP/.gitkeep rename to scripts/rudens_ddp/.gitkeep diff --git a/scripts/Rudens_DDP/rtu_run.sh b/scripts/rudens_ddp/rtu_run.sh similarity index 100% rename from scripts/Rudens_DDP/rtu_run.sh rename to scripts/rudens_ddp/rtu_run.sh diff --git a/scripts/Rudens_DDP/rtu_run_schedule.sh b/scripts/rudens_ddp/rtu_run_schedule.sh similarity index 100% rename from scripts/Rudens_DDP/rtu_run_schedule.sh rename to scripts/rudens_ddp/rtu_run_schedule.sh diff --git a/scripts/VSC_DDP/.gitkeep b/scripts/vega_basilisk/.gitkeep similarity index 100% rename from scripts/VSC_DDP/.gitkeep rename to scripts/vega_basilisk/.gitkeep diff --git a/scripts/Vega_ Basilisk/basilisk_cfd.sh b/scripts/vega_basilisk/basilisk_cfd.sh similarity index 100% rename from scripts/Vega_ Basilisk/basilisk_cfd.sh rename to scripts/vega_basilisk/basilisk_cfd.sh diff --git a/scripts/Vega_ Basilisk/basilisk_pde.sh b/scripts/vega_basilisk/basilisk_pde.sh similarity index 100% rename from scripts/Vega_ Basilisk/basilisk_pde.sh rename to scripts/vega_basilisk/basilisk_pde.sh diff --git a/scripts/vega_basilisk/lamec.json b/scripts/vega_basilisk/lamec.json new file mode 100644 index 0000000000000000000000000000000000000000..481c29f781f942010e3d2540505749d2e8a96f95 --- /dev/null +++ b/scripts/vega_basilisk/lamec.json @@ -0,0 +1 @@ +{"startscript": "baskilisk_cfd.sh"} diff --git a/scripts/Vega_ Basilisk/.gitkeep b/scripts/vsc_ddp/.gitkeep similarity index 100% rename from scripts/Vega_ Basilisk/.gitkeep rename to scripts/vsc_ddp/.gitkeep diff --git a/scripts/VSC_DDP/dam_ex.job b/scripts/vsc_ddp/dam_ex.job similarity index 100% rename from scripts/VSC_DDP/dam_ex.job rename to scripts/vsc_ddp/dam_ex.job diff --git a/scripts/VSC_DDP/dam_tune_ex.job b/scripts/vsc_ddp/dam_tune_ex.job similarity index 100% rename from scripts/VSC_DDP/dam_tune_ex.job rename to scripts/vsc_ddp/dam_tune_ex.job diff --git a/scripts/VSC_DDP/raise_nn.def b/scripts/vsc_ddp/raise_nn.def similarity index 100% rename from scripts/VSC_DDP/raise_nn.def rename to scripts/vsc_ddp/raise_nn.def diff --git a/scripts/VSC_DDP/wice_ex.job b/scripts/vsc_ddp/wice_ex.job similarity index 100% rename from scripts/VSC_DDP/wice_ex.job rename to scripts/vsc_ddp/wice_ex.job