using CUDA using DelimitedFiles using GZip using .Transpiler using .Interpreter include("parser.jl") # to parse expressions from a file data,varnames = readdlm("data/nikuradse_1.csv", ',', header=true); X = permutedims(convert(Matrix{Float32}, data)) exprs = Expr[] parameters = Vector{Vector{Float32}}() varnames = ["x$i" for i in 1:10] paramnames = ["p$i" for i in 1:20] # data/esr_nvar2_len10.txt.gz_9.txt.gz has ~250_000 exprs # data/esr_nvar2_len10.txt.gz_10.txt.gz has ~800_000 exrps GZip.open("data/esr_nvar2_len10.txt.gz_3.txt.gz") do io for line in eachline(io) expr, p = parse_infix(line, varnames, paramnames) push!(exprs, expr) push!(parameters, randn(Float32, length(p))) end end expr_reps = 1 @testset "Interpreter Tuning" begin CUDA.@profile interpret_gpu(exprs, X, parameters; repetitions=expr_reps) end @testset "Transpiler Tuning" begin # CUDA.@profile evaluate_gpu(exprs, X, parameters; repetitions=expr_reps) end