Giter VIP home page Giter VIP logo

poormansjobscheduler's Introduction

Poor Man's Job Scheduler

About

TLDR

  • pmrun "python3 foo.py"
  • Run Asynchronous jobs on remote/local server as if they were your local machine.
  • Without directly messing with SSH (Let me take care of that).

Not so TLDR

  • A Simple tool for giving jobs to a remote workstation/server through ssh.
  • Sync source code across systems with RSync (both LAN and WAN).
  • Simple logging of errors supported.
  • Only Supports a single compute node.
  • If you're looking for something a bit more sophisticated, please use SLURM.
  • Meant for use with a single machine with multiple GPUs for Machine Learning Workloads.
  • This is not really a Job SCHEDULER.

Installation

  • Install ssh and setup Keys on client and the server.
  • Install runoverssh with sudo apt-get install runoverssh.
  • Run bash source_pm-jobs.sh and restart terminal.
  • Setup Global Settings with pmrun global <remote_user> <remote_host> <projects_root>.
  • For me, this command looks like pmrun global surya 192.168.225.21 /home/surya/Documents/Projects/pm-jobs. NOTE: DO NOT input a trailing / when passing <projects_root> NOTE: Make sure to use public IP Address if SSH-ing over WAN.

Getting Started

  • cd into a project directory, for e.g. cd ~/Projects/StyleGAN2/, this will create a directory <projects_root>/StyleGAN2/on the server.
  • Run pmrun init to sync this directory with the server.
  • For running whatever command you would locally in the server with simply pmrun "~/miniconda3/bin/python3 test.py".
  • Errors and anything printed (STDOUT and STDERR) will be redirected to <projects_root>/<current_project>/pmsrun.log
  • Add patterns or file/directory names to .syncignore to ignore those files/directories from syncing to the server.

Author

Surya Kant Sahu

  • Researching Impractical and Stupid Ideas in Machine Learning.
  • I play the Piano. A huge fan of Frédéric Chopin and Japanese Neo-Classical.
  • Contact:

poormansjobscheduler's People

Contributors

ojus1 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.