Last active
December 18, 2016 01:06
-
-
Save ryanrhymes/26fbb3c6bd1aeded9c69e0834df88b22 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
open Owl | |
open Bigarray | |
let m, n, o = 10, 1000, 10000 | |
let shape = [|m;n;o|] | |
let test_op s c op = | |
let ttime = ref 0. in | |
for i = 1 to c do | |
let t0 = Unix.gettimeofday () in | |
let _ = op () in | |
let t1 = Unix.gettimeofday () in | |
ttime := !ttime +. (t1 -. t0) | |
done; | |
let _ = ttime := !ttime /. (float_of_int c) in | |
Printf.printf "| %s :\t %.4fs \n" s !ttime; | |
flush stdout | |
let test_00 () = | |
let f () = Dense.Ndarray.empty Float64 shape | |
in | |
test_op "empty" 1 f | |
let test_01 () = | |
let f () = Dense.Ndarray.zeros Float64 shape | |
in | |
test_op "zeros" 1 f | |
let test_02 () = | |
let f () = Dense.Ndarray.ones Float64 shape | |
in | |
test_op "ones" 1 f | |
let test_03 () = | |
let f () = Dense.Ndarray.create Float64 shape 3.5 | |
in | |
test_op "create" 1 f | |
let test_04 () = | |
let x = Dense.Ndarray.create Float64 shape 3.5 in | |
let y = Dense.Ndarray.create Float64 shape 5.5 in | |
let f () = Dense.Ndarray.add x y | |
in | |
test_op "add x y" 1 f | |
let test_05 () = | |
let x = Dense.Ndarray.create Float64 shape 3.5 in | |
let y = Dense.Ndarray.create Float64 shape 5.5 in | |
let f () = Dense.Ndarray.mul x y | |
in | |
test_op "mul x y" 1 f | |
let test_06 () = | |
let x = Dense.Ndarray.create Float64 shape 3.5 in | |
let f () = Dense.Ndarray.add_scalar x 2. | |
in | |
test_op "add_scalar x 2." 1 f | |
let test_07 () = | |
let x = Dense.Ndarray.create Float64 shape 3.5 in | |
let f () = Dense.Ndarray.abs x | |
in | |
test_op "abs x" 1 f | |
let test_08 () = | |
let x = Dense.Ndarray.create Float64 shape 3.5 in | |
let f () = Dense.Ndarray.map (fun a -> (sin a) +. 1.) x | |
in | |
test_op "(sin a) + 1" 1 f | |
let test_09 () = | |
let x = Dense.Ndarray.create Float64 shape 3.5 in | |
let f () = Dense.Ndarray.iter (fun a -> ignore(a > 0.); ()) x | |
in | |
test_op "iter x" 1 f | |
let test_10 () = | |
let x = Dense.Ndarray.create Float64 shape 3.5 in | |
let y = Dense.Ndarray.create Float64 shape 5.5 in | |
let f () = Dense.Ndarray.is_smaller x y | |
in | |
test_op "is_smaller x y" 1 f |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment