Skip to content

Commit

Permalink
Merge pull request #31 from Sudha247/patch-1
Browse files Browse the repository at this point in the history
Rename `num_domains` to `num_additional_domains` in setup_pool
  • Loading branch information
ctk21 committed Jun 8, 2021
2 parents 93a5422 + e538ff6 commit 0a3b4f3
Show file tree
Hide file tree
Showing 12 changed files with 18 additions and 17 deletions.
6 changes: 3 additions & 3 deletions lib/task.ml
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,16 @@ let do_task f p =
| TasksActive -> raise e
| _ -> ()

let setup_pool ~num_domains =
let task_chan = Multi_channel.make (num_domains+1) in
let setup_pool ~num_additional_domains =
let task_chan = Multi_channel.make (num_additional_domains+1) in
let rec worker () =
match Multi_channel.recv task_chan with
| Quit -> Multi_channel.clear_local_state ();
| Task (t, p) ->
do_task t p;
worker ()
in
let domains = Array.init num_domains (fun _ -> Domain.spawn worker) in
let domains = Array.init num_additional_domains (fun _ -> Domain.spawn worker) in
{domains; task_chan}

let async pool task =
Expand Down
5 changes: 3 additions & 2 deletions lib/task.mli
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@ type 'a promise
type pool
(** Type of task pool *)

val setup_pool : num_domains:int -> pool
(** Sets up a task execution pool with [num_domains]. *)
val setup_pool : num_additional_domains:int -> pool
(** Sets up a task execution pool with [num_additional_domains + 1] domains
* including the current domain *)

exception TasksActive

Expand Down
2 changes: 1 addition & 1 deletion test/LU_decomposition_multicore.ml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ let lup pool (a0 : float array) =
a

let () =
let pool = T.setup_pool ~num_domains:(num_domains - 1) in
let pool = T.setup_pool ~num_additional_domains:(num_domains - 1) in
let a = parallel_create pool
(fun _ _ -> (Random.State.float (Domain.DLS.get k) 100.0) +. 1.0 ) in
let lu = lup pool a in
Expand Down
2 changes: 1 addition & 1 deletion test/enumerate_par.ml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ let n = try int_of_string Sys.argv.(2) with _ -> 100
module T = Domainslib.Task

let _ =
let p = T.setup_pool ~num_domains:(num_domains - 1) in
let p = T.setup_pool ~num_additional_domains:(num_domains - 1) in
T.parallel_for p ~start:0 ~finish:(n-1) ~chunk_size:16 ~body:(fun i ->
print_string @@ Printf.sprintf "[%d] %d\n%!" (Domain.self () :> int) i);
T.teardown_pool p
2 changes: 1 addition & 1 deletion test/fib_par.ml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ let rec fib_par pool n =
T.await pool a + T.await pool b

let main =
let pool = T.setup_pool ~num_domains:(num_domains - 1) in
let pool = T.setup_pool ~num_additional_domains:(num_domains - 1) in
let res = fib_par pool n in
T.teardown_pool pool;
Printf.printf "fib(%d) = %d\n" n res
2 changes: 1 addition & 1 deletion test/game_of_life_multicore.ml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ let rec repeat pool n =
| _-> next pool; repeat pool (n-1)

let ()=
let pool = T.setup_pool ~num_domains:(num_domains - 1) in
let pool = T.setup_pool ~num_additional_domains:(num_domains - 1) in
print !rg;
repeat pool n_times;
print !rg;
Expand Down
2 changes: 1 addition & 1 deletion test/prefix_sum.ml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ let gen n = Array.make n 1 (*(fun _ -> Random.int n)*)
let prefix_sum pool = T.parallel_scan pool (+)

let _ =
let pool = T.setup_pool ~num_domains:(num_domains - 1) in
let pool = T.setup_pool ~num_additional_domains:(num_domains - 1) in
let arr = gen n in
let t = Unix.gettimeofday() in
let _ = prefix_sum pool arr in
Expand Down
2 changes: 1 addition & 1 deletion test/spectralnorm2_multicore.ml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ let eval_AtA_times_u pool u v =
eval_A_times_u pool u w; eval_At_times_u pool w v

let () =
let pool = T.setup_pool ~num_domains:(num_domains - 1) in
let pool = T.setup_pool ~num_additional_domains:(num_domains - 1) in
let u = Array.make n 1.0 and v = Array.make n 0.0 in
for _i = 0 to 9 do
eval_AtA_times_u pool u v; eval_AtA_times_u pool v u
Expand Down
6 changes: 3 additions & 3 deletions test/sum_par.ml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ module T = Domainslib.Task

let _ =
(* use parallel_for_reduce *)
let p = T.setup_pool ~num_domains:(num_domains - 1) in
let p = T.setup_pool ~num_additional_domains:(num_domains - 1) in
let sum =
T.parallel_for_reduce p (+) 0 ~chunk_size:(n/(4*num_domains)) ~start:0
~finish:(n-1) ~body:(fun _i -> 1)
Expand All @@ -16,7 +16,7 @@ let _ =

let _ =
(* explictly use empty pool and default chunk_size *)
let p = T.setup_pool ~num_domains:0 in
let p = T.setup_pool ~num_additional_domains:0 in
let sum = Atomic.make 0 in
T.parallel_for p ~start:0 ~finish:(n-1)
~body:(fun _i -> ignore (Atomic.fetch_and_add sum 1));
Expand All @@ -27,7 +27,7 @@ let _ =

let _ =
(* configured num_domains and default chunk_size *)
let p = T.setup_pool ~num_domains:(num_domains - 1) in
let p = T.setup_pool ~num_additional_domains:(num_domains - 1) in
let sum = Atomic.make 0 in
T.parallel_for p ~start:0 ~finish:(n-1)
~body:(fun _i -> ignore (Atomic.fetch_and_add sum 1));
Expand Down
2 changes: 1 addition & 1 deletion test/summed_area_table.ml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ let calc_table pool mat =
let _ =
let m = Array.make_matrix size size 1 (*Array.init size (fun _ -> Array.init size (fun _ -> Random.int size))*)
in
let pool = T.setup_pool ~num_domains:(num_domains - 1) in
let pool = T.setup_pool ~num_additional_domains:(num_domains - 1) in
let _ = calc_table pool m in

(* for i = 0 to size-1 do
Expand Down
2 changes: 1 addition & 1 deletion test/task_exn.ml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module T = Domainslib.Task
exception E

let _ =
let pool = T.setup_pool ~num_domains:3 in
let pool = T.setup_pool ~num_additional_domains:3 in

let p1 = T.async pool (fun () ->
let p2 = T.async pool (fun () -> raise E) in
Expand Down
2 changes: 1 addition & 1 deletion test/task_throughput.ml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ let work _ = Domain.Sync.poll ()
let _ =
Printf.printf "n_iterations: %d n_units: %d n_domains: %d\n"
n_iterations n_tasks n_domains;
let pool = T.setup_pool ~num_domains:(n_domains - 1) in
let pool = T.setup_pool ~num_additional_domains:(n_domains - 1) in

let hist = TimingHist.make 5 25 in
for _ = 1 to n_iterations do
Expand Down

0 comments on commit 0a3b4f3

Please sign in to comment.