Skip to content

Commit

Permalink
Merge pull request #111 from ocaml-multicore/prepare-release
Browse files Browse the repository at this point in the history
Prepare release
  • Loading branch information
Sudha247 authored Jul 18, 2023
2 parents 14fe8fd + c449e79 commit 9eb71b8
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 18 deletions.
37 changes: 26 additions & 11 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,22 @@

* `parallel_find` function that stops early (#129, #130)

## v0.5.0
## 0.5.1

* Add parallel_find (#90, @gasche)
* Update CI (#93, @Sudha247)
* Optimisation to work-stealing (#96, @art-w)
* Improve docs presentation (#99, @metanivek)
* Property based tests (#100, jmid)
* Task: avoid double handler installation (#101, @gasche & @clef-men)
* Fix a benign data-race in Chan reported by ocaml-tsan (#103, @art-w)
* Dune, opam, and GitHub Actions fixes (#105, @MisterDA)
* domain local await support (#107, @polytypic)
* Windows run on GitHub Actions (#110, @Sudha247)
* Adjust PBTs based on recommended_domain_count (#112, @jmid)
* Test condition tweaks (#113, @jmid)

## 0.5.0

This release includes:

Expand All @@ -13,35 +28,35 @@ This release includes:
* Breaking change: Rename `num_additional_domains` to `num_domains` for setup_pool
* Documentation updates (#80, #81, #82)

## v0.4.2
## 0.4.2

Includes Effect.eff -> Effect.t change from OCaml trunk. (#65)

## v0.4.1
## 0.4.1

This release fixes compatibility with OCaml 5.00.0+trunk in #61. Breaks compatibility with older Multicore variants 4.12.0+domains and 4.12.0+domains+effects

## v0.4.0
## 0.4.0

This release includes:

* Usage of effect handlers for task creation. This introduces a breaking change; all computations need to be enclosed in a Task.run function. See #51.
* Multi_channel uses a per-channel domain-local key, removing the global key. #50
* Bug fixes in parallel_scan. #60

## v0.3.2
## 0.3.2

Corresponding updates for breaking changes introduced in ocaml-multicore/ocaml-multicore#704

* Updated with the new interface Domain.cpu_relax
* Domain.timer_ticks replaced with Mirage clock.

## v0.3.1
## 0.3.1

* #45 adds support for named pools. This is a breaking change with setup_pool taking an optional name parameter and an extra unit parameter.
* A minor bug fix in parallel_for_reduce.

## v0.3.0
## 0.3.0

This release includes:

Expand All @@ -51,25 +66,25 @@ This release includes:
* A move to using the Mutex & Condition modules for the implementation of Chan #24.
* Various documentation and packaging improvements (#21, #27, #30, #32).

## v0.2.2
## 0.2.2

Updates to:

* parallel_for to use new task distribution algorithm and allow default chunk_size (#16)
* parallel_for_reduce to use new task distribution algorithm and allow default chunk_size parameter (#18)

## v0.2.1
## 0.2.1

* `recv_poll` made non-allocating
* Addition of parallel_scan #5

## v0.2.0
## 0.2.0

* New Tasks library with support for async/await parallelism and parallel for loops.
* Adds support for non-blocking Chan.send_poll and Chan.recv_poll.

Thanks to @gasche for API design discussions.

## v0.1.0
## 0.1.0

Initial release
4 changes: 2 additions & 2 deletions domainslib.opam
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# This file is generated by dune, edit dune-project instead
opam-version: "2.0"
synopsis: "Parallel Structures over Domains for Multicore OCaml"
maintainer: ["KC Sivaramakrishnan <[email protected]>"]
maintainer: ["KC Sivaramakrishnan <[email protected]>" "Sudha Parimala"]
authors: ["KC Sivaramakrishnan <[email protected]>"]
license: "ISC"
homepage: "https://github.com/ocaml-multicore/domainslib"
Expand All @@ -10,7 +10,7 @@ bug-reports: "https://github.com/ocaml-multicore/domainslib/issues"
depends: [
"dune" {>= "3.0"}
"ocaml" {>= "5.0"}
"lockfree" {>= "0.2.0"}
"saturn" {>= "0.4.0"}
"domain-local-await" {>= "0.1.0"}
"kcas" {>= "0.3.0" & with-test}
"mirage-clock-unix" {with-test & >= "4.2.0"}
Expand Down
4 changes: 2 additions & 2 deletions dune-project
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

(source (github ocaml-multicore/domainslib))
(authors "KC Sivaramakrishnan <[email protected]>")
(maintainers "KC Sivaramakrishnan <[email protected]>")
(maintainers "KC Sivaramakrishnan <[email protected]>" "Sudha Parimala")
(documentation "https://kayceesrk.github.io/domainslib/doc")
(license "ISC")

Expand All @@ -14,7 +14,7 @@
(synopsis "Parallel Structures over Domains for Multicore OCaml")
(depends
(ocaml (>= "5.0"))
(lockfree (>= "0.2.0"))
(saturn (>= "0.4.0"))
(domain-local-await (>= 0.1.0))
(kcas (and (>= 0.3.0) :with-test))
(mirage-clock-unix (and :with-test (>= "4.2.0")))
Expand Down
2 changes: 1 addition & 1 deletion lib/dune
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
(library
(name domainslib)
(public_name domainslib)
(libraries lockfree domain-local-await))
(libraries saturn domain-local-await))
4 changes: 2 additions & 2 deletions lib/multi_channel.ml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*)

module Ws_deque = Lockfree.Ws_deque.M
module Ws_deque = Saturn.Work_stealing_deque.M

type mutex_condvar = {
mutex: Mutex.t;
Expand All @@ -32,7 +32,7 @@ type dls_state = {
mc: mutex_condvar;
}

module Foreign_queue = Lockfree.Michael_scott_queue
module Foreign_queue = Saturn.Queue

type 'a t = {
channels: 'a Ws_deque.t array;
Expand Down

0 comments on commit 9eb71b8

Please sign in to comment.