Yeppp! is a high-performance SIMD-optimized mathematical library. This Julia package makes it possible to call Yeppp from Julia.
Install this package by
Pkg.add("Yeppp")
For common 64-bit platforms, this will download dependencies automatically. For some
other platforms such as the PowerPC 64 architecture, you may still be able to
use this package by downloading
Yeppp!
and extracting from the binaries
folder the file(s) specific to your OS.
Check the platforms supported by Yeppp! here.
Make sure the extracted files are available on the system library
search path or in the current directory. For example, in Julia's bin
folder.
See example usage below. Yeppp's vectorized log is 3x faster than the one in Base, which is written in Julia.
using Yeppp
x = rand(10^7)
ty = @elapsed Yeppp.log!(similar(x), x)
t = @elapsed log(x)
t/ty
The following functions are available for Array{Float64}
. Inputs
are in x
, and outputs are in y
.
dot(x1, x2)
sum(x)
sumabs(x)
sumabs2(x)
negate!(x)
max!(y, x1, x2)
min!(y, x1, x2)
add!(y, x1, x2)
subtract!(y, x1, x2)
multiply!(y, x1, x2)
log!(y, x)
exp!(y, x)
evalpoly!(y, x_coeff, x)
sin!(y, x)
cos!(y, x)
tan!(y, x)
See the Yeppp! documentation for the full set of functions available in Yeppp!.