All Projects → Parsl → Parsl

Parsl / Parsl

Licence: apache-2.0
Parsl - Parallel Scripting Library

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Parsl

Docs
User documentation for Knative components.
Stars: ✭ 3,106 (+1127.67%)
Mutual labels:  hacktoberfest
Hugo
The world’s fastest framework for building websites.
Stars: ✭ 55,899 (+21994.47%)
Mutual labels:  hacktoberfest
Python
All Algorithms implemented in Python
Stars: ✭ 125,688 (+49579.05%)
Mutual labels:  hacktoberfest
Hashie
Hashie is a collection of classes and mixins that make Ruby hashes more powerful.
Stars: ✭ 2,790 (+1002.77%)
Mutual labels:  hacktoberfest
Awesome Datascience
📝 An awesome Data Science repository to learn and apply for real world problems.
Stars: ✭ 17,520 (+6824.9%)
Mutual labels:  hacktoberfest
Awesome Go
A curated list of awesome Go frameworks, libraries and software
Stars: ✭ 72,372 (+28505.53%)
Mutual labels:  hacktoberfest
Pareto.js
An extremely small, intuitive and fast functional utility library for JavaScript
Stars: ✭ 254 (+0.4%)
Mutual labels:  hacktoberfest
Hosting
This is a setup for a Tor based shared web hosting server
Stars: ✭ 254 (+0.4%)
Mutual labels:  hacktoberfest
Apollo 11
Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules.
Stars: ✭ 52,190 (+20528.46%)
Mutual labels:  hacktoberfest
30 Seconds Of Code
Short JavaScript code snippets for all your development needs
Stars: ✭ 89,121 (+35125.69%)
Mutual labels:  hacktoberfest
Ipython
Official repository for IPython itself. Other repos in the IPython organization contain things like the website, documentation builds, etc.
Stars: ✭ 15,107 (+5871.15%)
Mutual labels:  hacktoberfest
Clickhouse
ClickHouse® is a free analytics DBMS for big data
Stars: ✭ 21,089 (+8235.57%)
Mutual labels:  hacktoberfest
Java Design Patterns
Design patterns implemented in Java
Stars: ✭ 71,923 (+28328.06%)
Mutual labels:  hacktoberfest
Laravel Query Builder
Easily build Eloquent queries from API requests
Stars: ✭ 3,083 (+1118.58%)
Mutual labels:  hacktoberfest
Ohmyzsh
🙃 A delightful community-driven (with 1900+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community.
Stars: ✭ 138,057 (+54467.98%)
Mutual labels:  hacktoberfest
Packages
Community maintained packages for OpenWrt. Documentation for submitting pull requests is in CONTRIBUTING.md
Stars: ✭ 2,957 (+1068.77%)
Mutual labels:  hacktoberfest
Chart.js
Simple HTML5 Charts using the <canvas> tag
Stars: ✭ 55,646 (+21894.47%)
Mutual labels:  hacktoberfest
5e Srd Api
REST API to access D&D 5th Edition SRD database
Stars: ✭ 256 (+1.19%)
Mutual labels:  hacktoberfest
Free Programming Books
📚 Freely available programming books
Stars: ✭ 216,030 (+85287.35%)
Mutual labels:  hacktoberfest
Material Ui
MUI (formerly Material-UI) is the React UI library you always wanted. Follow your own design system, or start with Material Design.
Stars: ✭ 73,739 (+29045.85%)
Mutual labels:  hacktoberfest

Parsl - Parallel Scripting Library

|licence| |build-status| |docs| |NSF-1550588| |NSF-1550476| |NSF-1550562| |NSF-1550528|

Parsl is a parallel programming library for Python. Parsl augments Python with simple, scalable, and flexible constructs for encoding parallelism. Developers annotate Python functions to specify opportunities for concurrent execution. These annotated functions, called apps, may represent pure Python functions or calls to external applications, whether sequential, multicore (e.g., CPU, GPU, accelerator), or multi-node MPI. Parsl further allows these calls to these apps, called tasks, to be connected by shared input/output data (e.g., Python objects or files) via which Parsl can construct a dynamic dependency graph of tasks.

Parsl includes a flexible and scalable runtime that allows it to efficiently execute Python programs in parallel. Parsl scripts are portable and can be easily moved between different execution resources: from laptops to supercomputers to clouds. When executing a Parsl program, developers first define a simple Python-based configuration that outlines where and how to execute tasks. Parsl supports various target resources including clouds (e.g., Amazon Web Services and Google Cloud), clusters (e.g., using Slurm, Torque/PBS, HTCondor, Cobalt), and container orchestration systems (e.g., Kubernetes). Parsl scripts can scale from a single core on a single computer through to hundreds of thousands of cores across many thousands of nodes on a supercomputer.

Parsl can be used to implement various parallel computing paradigms:

  • Concurrent execution of a set of tasks in a bag-of-tasks program
  • Procedural workflows in which tasks are executed following control logic
  • Parallel dataflow in which tasks are executed when their data dependencies are met
  • Heterogeneous many-task applications in which many different computing resources are used together to execute different types of computational tasks
  • Dynamic workflows in which the workflow is determined during execution
  • Interactive parallel programming through notebooks or another interactive mechanism

The latest Parsl version available on PyPi is v1.0.0.

.. |licence| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg :target: https://github.com/Parsl/parsl/blob/master/LICENSE :alt: Apache Licence V2.0 .. |build-status| image:: https://travis-ci.com/Parsl/parsl.svg?branch=master :target: https://travis-ci.com/Parsl/parsl :alt: Build status .. |docs| image:: https://readthedocs.org/projects/parsl/badge/?version=stable :target: http://parsl.readthedocs.io/en/stable/?badge=stable :alt: Documentation Status .. |NSF-1550588| image:: https://img.shields.io/badge/NSF-1550588-blue.svg :target: https://nsf.gov/awardsearch/showAward?AWD_ID=1550588 :alt: NSF award info .. |NSF-1550476| image:: https://img.shields.io/badge/NSF-1550476-blue.svg :target: https://nsf.gov/awardsearch/showAward?AWD_ID=1550476 :alt: NSF award info .. |NSF-1550562| image:: https://img.shields.io/badge/NSF-1550562-blue.svg :target: https://nsf.gov/awardsearch/showAward?AWD_ID=1550562 :alt: NSF award info .. |NSF-1550528| image:: https://img.shields.io/badge/NSF-1550528-blue.svg :target: https://nsf.gov/awardsearch/showAward?AWD_ID=1550528 :alt: NSF award info

QuickStart

Parsl is now available on PyPI, but first make sure you have Python3.6+ ::

$ python3 --version

Install Parsl using pip::

$ pip3 install parsl

To run the Parsl tutorial notebooks you will need to install Jupyter::

$ pip3 install jupyter

Detailed information about setting up Jupyter with Python is available here <https://jupyter.readthedocs.io/en/latest/install.html>_

Note: Parsl uses an opt-in model to collect anonymous usage statistics for reporting and improvement purposes. To understand what stats are collected and enable collection please refer to the usage tracking guide <http://parsl.readthedocs.io/en/stable/userguide/usage_tracking.html>__

Documentation

The complete parsl documentation is hosted here <http://parsl.readthedocs.io/en/stable/>_.

The Parsl tutorial is hosted on live Jupyter notebooks here <https://mybinder.org/v2/gh/Parsl/parsl-tutorial/master>_

For Developers

  1. Download Parsl::

    $ git clone https://github.com/Parsl/parsl

  2. Build and Test::

    $ make # show all available makefile targets $ make virtualenv # create a virtual environment $ source .venv/bin/activate # activate the virtual environment $ make deps # install python dependencies from test-requirements.txt $ make test # make (all) tests. Run "make config_local_test" for a faster, smaller test set. $ make clean # remove virtualenv and all test and build artifacts

  3. Install::

    $ cd parsl $ python3 setup.py install

  4. Use Parsl!

Requirements

Parsl is supported in Python 3.6+. Requirements can be found here <requirements.txt>. Requirements for running tests can be found here <test-requirements.txt>.

Code of Conduct

Parsl seeks to foster an open and welcoming environment - Please see the Parsl Code of Conduct <https://github.com/Parsl/parsl/blob/master/CoC.md>_ for more details.

Contributing

We welcome contributions from the community. Please see our contributing guide <CONTRIBUTING.rst>_.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].