10
1
mirror of https://gitlab.com/scemama/qmcchem.git synced 2024-12-22 04:13:31 +01:00

Working on binary I/O

This commit is contained in:
Anthony Scemama 2022-01-11 14:47:04 +01:00
parent dfbbf8b329
commit ca7f0f0171
5 changed files with 29 additions and 17 deletions

View File

@ -120,13 +120,17 @@ let of_bytes b =
let to_string b = let to_string b =
Printf.sprintf "%s %s # %s %s %s %d" if Qmcchem_config.binary_io then
(Sample.to_string b.value ) to_bytes b
(Weight.to_float b.weight |> string_of_float) |> Bytes.to_string
(Property.to_string b.property) else
(Compute_node.to_string b.compute_node) Printf.sprintf "%s %s # %s %s %s %d"
(string_of_int b.pid) (Sample.to_string b.value )
(Block_id.to_int b.block_id) (Weight.to_float b.weight |> string_of_float)
(Property.to_string b.property)
(Compute_node.to_string b.compute_node)
(string_of_int b.pid)
(Block_id.to_int b.block_id)
let dir_name = lazy( let dir_name = lazy(

View File

@ -115,3 +115,5 @@ let ip_address = lazy (
let binary_io = false

View File

@ -758,7 +758,8 @@ let run ?(daemon=true) ezfio_filename =
| Some wall -> | Some wall ->
begin begin
output_string !block_channel (Block.to_string wall); output_string !block_channel (Block.to_string wall);
output_char !block_channel '\n'; if not Qmcchem_config.binary_io then
output_char !block_channel '\n';
end end
| _ -> () | _ -> ()
end end
@ -767,7 +768,8 @@ let run ?(daemon=true) ezfio_filename =
if (status = Status.Running) then if (status = Status.Running) then
touch_worker b.Block.compute_node b.Block.pid ; touch_worker b.Block.compute_node b.Block.pid ;
output_string !block_channel (Block.to_string b); output_string !block_channel (Block.to_string b);
output_char !block_channel '\n'; if not Qmcchem_config.binary_io then
output_char !block_channel '\n';
recv_log (Block.to_string b) recv_log (Block.to_string b)
end end
| Message.Test | Message.Test

View File

@ -344,7 +344,7 @@ let create_ezfio_handler () =
let lines = let lines =
input_lines "ezfio.ml" input_lines "ezfio.ml"
(* /!\ Change when ezfio.ml changes *) (* /!\ Change when ezfio.ml changes *)
|> List.mapi (fun i l -> if i > 444 then Some l else None) |> List.mapi (fun i l -> if i > 442 then Some l else None)
|> List.filter (fun x -> x <> None) |> List.filter (fun x -> x <> None)
|> List.map (fun x -> |> List.map (fun x ->
match x with match x with

View File

@ -146,6 +146,10 @@ for p in properties_qmcvar:
print >>file, """| %(P)s -> "%(P)s" """%{'P':p[1].capitalize(), 'p':p[1]} print >>file, """| %(P)s -> "%(P)s" """%{'P':p[1].capitalize(), 'p':p[1]}
print >>file, """;; print >>file, """;;
let of_bytes x =
Bytes.to_string x
|> of_string
let to_bytes x = let to_bytes x =
to_string x to_string x
|> Bytes.of_string |> Bytes.of_string