Open
Description
with current @views
based implementation:
SciMLOperators.jl/src/sciml.jl
Lines 584 to 618 in 746c0d5
using SciMLOperators, LinearAlgebra
using BenchmarkTools
A = TensorProductOperator(rand(12,12), rand(12,12), rand(12,12))
u = rand(12^3, 100)
v = rand(12^3, 100)
A = cache_operator(A, u)
mul!(v, A, u) # dunny
@btime mul!($v, $A, $u); # 16.901 ms (348801 allocations: 45.51 MiB)
B = convert(AbstractMatrix, A)
mul!(v, B, u) # dummy
@btime mul!($v, $B, $u); # 10.337 ms (0 allocations: 0 bytes)
julia> versioninfo()
Julia Version 1.8.0-rc1
Commit 6368fdc6565 (2022-05-27 18:33 UTC)
Platform Info:
OS: macOS (x86_64-apple-darwin21.4.0)
CPU: 4 × Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-13.0.1 (ORCJIT, broadwell)
Threads: 4 on 4 virtual cores
Environment:
JULIA_NUM_PRECOMPILE_TASKS = 4
JULIA_DEPOT_PATH = /Users/vp/.julia
JULIA_NUM_THREADS = 4
Metadata
Metadata
Assignees
Labels
No labels