- A simple note for how to start multi-node-training on slurm scheduler with PyTorch.
- Useful especially when scheduler is too busy that you cannot get multiple GPUs allocated, or you need more than 4 GPUs for a single job.
- Requirement: Have to use PyTorch DistributedDataParallel(DDP) for this purpose.
- Warning: might need to re-factor your own code.
- Warning: might be secretly condemned by your colleagues because using too many GPUs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| description = "veloxchem-hpc"; | |
| inputs = { | |
| nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; | |
| flake-utils.url = "github:numtide/flake-utils"; | |
| pypi-deps-db = { | |
| url = "github:DavHau/pypi-deps-db/a8ea7f774b76d3b61237c0bc20c97629a2248462"; | |
| flake = false; | |
| }; | |
| mach-nix = { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { config, pkgs, lib, ... }: { | |
| imports = [ | |
| (import <nixpkgs/nixos/modules/system/etc/etc.nix>) | |
| ]; | |
| options.system.build.etc = lib.mkOption { type = lib.types.package; }; | |
| options.system.activationScripts.etc = | |
| lib.mkOption { type = lib.types.unspecified; }; | |
| config = { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| " Specify a directory for plugins | |
| call plug#begin('~/.vim/plugged') | |
| Plug 'neoclide/coc.nvim', {'branch': 'release'} | |
| Plug 'scrooloose/nerdtree' | |
| "Plug 'tsony-tsonev/nerdtree-git-plugin' | |
| Plug 'Xuyuanp/nerdtree-git-plugin' | |
| Plug 'tiagofumo/vim-nerdtree-syntax-highlight' | |
| Plug 'ryanoasis/vim-devicons' | |
| Plug 'airblade/vim-gitgutter' |
This is the setup that I use for mutt, I have two google domain account (read as gmail) and an institution where I work and study account. This means I have two gmail accounts and one outlook 365 account that i want to sync and read via mutt.
I want to store all my email locally as I travel a lot and will be in countries without easy internet access. For this I use mbsync (iSync). As it can handle multiple account types easily and efficently.
The setup works this way
[Remote Mail Servers] <= mbsync => [Local Mail Folders]
With this wiki2html.sh bash script and pandoc program, you can convert markdown to html.
Usage: In the vim list section of the .vimrcfile, include options:
let g:vimwiki_list = [{'path': ‘your_wiki_place',
\ 'path_html': ‘wiki_html_location’,
\ 'syntax': 'markdown',
\ 'ext': '.md',
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # general commands | |
| alias t="task" | |
| alias ta="task add" | |
| alias td="task done" | |
| alias t-="task delete" | |
| alias tm="task modify" | |
| alias tu="task undo" | |
| alias tv="vit rc.alias.next=list" | |
| alias tw1="task modify wait:1d" | |
| # alias tw2="task modify wait:2d" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import numpy as np | |
| from numpy.fft import fft2, ifft2 | |
| def overlapadd2(Amat, Hmat, L=None, Nfft=None, y=None, verbose=False): | |
| """ | |
| Fast two-dimensional linear convolution via the overlap-add method. | |
| The overlap-add method is well-suited to convolving a very large array, | |
| `Amat`, with a much smaller filter array, `Hmat` by breaking the large |
To remove a submodule you need to:
- Delete the relevant section from the .gitmodules file.
- Stage the .gitmodules changes git add .gitmodules
- Delete the relevant section from .git/config.
- Run git rm --cached path_to_submodule (no trailing slash).
- Run rm -rf .git/modules/path_to_submodule (no trailing slash).
- Commit git commit -m "Removed submodule "
- Delete the now untracked submodule files rm -rf path_to_submodule
NewerOlder