diff --git a/Project.toml b/Project.toml index 3768b64..67c3d64 100644 --- a/Project.toml +++ b/Project.toml @@ -4,13 +4,13 @@ authors = ["Anton Smirnov "] version = "0.1.4" [deps] -AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e" Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" BSON = "fbb218c0-5317-5bc6-957e-2ee96dd4b1f0" BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" +GPUCompiler = "61eb1bfa-7361-4325-ad38-22787b887f55" ImageCore = "a09fc81d-aa75-5fe9-8630-4744c3626534" ImageMagick = "6218d12a-5da1-5696-b52f-db25d2ecc6d1" ImageTransformations = "02fcd773-0e25-5acc-982a-7f6622650795" @@ -28,7 +28,6 @@ Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" [compat] -AMDGPU = "0.8" Adapt = "4" BSON = "0.3" BenchmarkTools = "1.3.2" diff --git a/benchmark/pipeline.jl b/benchmark/pipeline.jl index 2aa4b00..1eb6861 100644 --- a/benchmark/pipeline.jl +++ b/benchmark/pipeline.jl @@ -7,14 +7,12 @@ const Backend = Nerf.Backend function trainer_benchmark(trainer::Nerf.Trainer, n::Int) for i in 1:n - Core.println(i) Nerf.step!(trainer) end end function render_benchmark(renderer::Nerf.Renderer, trainer::Nerf.Trainer, n::Int) for i in 1:n - Core.println(i) Nerf.render!(trainer.model, renderer, trainer.occupancy, trainer.bbox) end end diff --git a/src/Nerf.jl b/src/Nerf.jl index d7f6298..67eb438 100644 --- a/src/Nerf.jl +++ b/src/Nerf.jl @@ -118,11 +118,14 @@ end using PrecompileTools @setup_workload let - # TODO: KA.functional(Backend) config_file = joinpath(pkgdir(Nerf), "data", "raccoon_sofa2", "transforms.json") dataset = Dataset(Backend; config_file) model = BasicModel(BasicField(Backend)) - trainer = Trainer(model, dataset; n_rays=4) + + trainer = Trainer(model, dataset; n_rays=128) + for _ in 1:20 # 20 step, since different steps run different kernels, to cover them all + step!(trainer) + end camera = Camera(MMatrix{3, 4, Float32}(I), dataset.intrinsics) renderer = Renderer(Backend, camera, trainer.bbox, trainer.cone) diff --git a/src/kautils.jl b/src/kautils.jl index e9b8af7..e53451c 100644 --- a/src/kautils.jl +++ b/src/kautils.jl @@ -6,7 +6,7 @@ function is_valid_backend(name::String) """) end -backend_name() = is_valid_backend(@load_preference("backend", "AMDGPU")) +backend_name() = is_valid_backend(@load_preference("backend", "CUDA")) function set_backend!(name::String)::Bool backend_name() == name && return false