Git Product home page Git Product logo

zeppy's Introduction

zeppy

Documentation Status

distributed processing for eppyy

Vision

To run eppy on multiple nodes in parallel and collect the results.

So what is a node and why would you want to do this ?

A node can be any or all of the following:

  • a process (such E+ running on a single core on a multi-core computer)
    • so we can do multi-processing and run it on many cores on a single computer
  • a computer
    • so we can run it on multiple computers that are on the same network
  • a group of computer in a local network
    • So we can run multiple groups of machines that may be at different locations on different local networks
    • This can also be computers at different cloud locations
    • a single computer in the local network may act as an access node

Features

Do the distributed processing with a single function call and get all the results back.

Sample code

import zeppy import ppipes

result = ppipes.ipc_parallelpipe(runfunction,
                                args_list,
                                nworkers=None)

# runfunction is a function you will write,
    # that may run idf.run(),
    # gather the total energy use and return it
# args_list = {args: [idf1, idf2, idf3, ...]}
    # list of files to run
# if nworkers=None:
    # it will start up as many nodes as there are items in args_list
    # if you don't have enough nodes avaliable, you can set nworkers=n.
    # it will start up n nodes and queue up the runs evenly on the nodes

For example the above code can do the following:

  • runfunction will run the idf file, and return the total energy usage
  • result will be a list total energy usage in the same order as the items in args_list
  • see the comments in the code for greater clarity

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

zeppy's People

Contributors

santoshphilip avatar pyenergyplus 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.