Skip to main content

POAP: Plumbing for Optimization with Asynchronous Parallelism

POAP provides an event-driven framework for building and combining asynchronous optimization strategies. A typical optimization code written with POAP might look like:

from poap.strategy import FixedSampleStrategy
from poap.strategy import CheckWorkStrategy
from poap.controller import ThreadController
from poap.controller import BasicWorkerThread

# samples = list of sample points ...

controller = ThreadController()
sampler = FixedSampleStrategy(samples)
controller.strategy = CheckWorkerStrategy(controller, sampler)

for i in range(NUM_WORKERS):
    t = BasicWorkerThread(controller, objective)
    controller.launch_worker(t)

result = controller.run()
print 'Best result: {0} at {1}'.format(result.value, result.params)

The basic ingredients are a controller capable of asking workers to run function evaluations and a strategy for choosing where to sample. The strategies send the controller proposed actions, which the controller then accepts or rejects; the controller, in turn, informs the strategies of relevant events through callback functions.

Most users will probably want to provide their own strategies, controllers, or both.

Developers

Build Status:

https://travis-ci.org/dbindel/POAP.svg?branch=master

Release files for POAP 0.1.26

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for POAP 0.1.26
File Size Uploaded
POAP-0.1.26.tar.gz 28.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for POAP 0.1.26
File Interpreter ABI Platform
POAP-0.1.26-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 64.7 kB

Release files / POAP-0.1.26.tar.gz

Download URL POAP-0.1.26.tar.gz
Size 28.3 kB
Tags Source
SHA-256 checksum
How to use checksums
05d34b8075faf4bc41e1a169151f545ef3e45cfa62ec31f815fa3c06ee2dd4fb
BLAKE2b-256 checksum
How to use checksums
827ca9f3e7cd3da47b4d3a5c7386d55ff2bfb65dbb9bc6875e5e9ea0122cda35
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / POAP-0.1.26-py2.py3-none-any.whl

Download URL POAP-0.1.26-py2.py3-none-any.whl
Size 36.4 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
195d1f344db9c04e9695dad835274cbaef353b6324c9481c7ef05d9ec4fe5506
BLAKE2b-256 checksum
How to use checksums
af3a59c6a94c511f2638329807812e9b80ba1918a731ecdc384f914f1ea80a17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.26 This release

2 release files

0.1.24

2 release files

0.1.18

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page