xuan-li / PAC-NeRF

Physics Augmented Continuum Neural Radiance Fields for Geometry-Agnostic System Identification
MIT License
269 stars 15 forks source link

Global store may lose precision #2

Closed fresh-men closed 1 year ago

fresh-men commented 1 year ago

@xuan-li Hi, thanks for your nice work. however, I encountered the following warning:

[W 04/05/23 08:28:58.286 16373] [type_check.cpp:type_check_store@36] [$18318] Local store may lose precision: f32 <- f64 [W 04/05/23 08:28:58.286 16373] [type_check.cpp:type_check_store@36] [$18320] Local store may lose precision: f32 <- f64 [W 04/05/23 08:28:58.286 16373] [type_check.cpp:type_check_store@36] [$18322] Local store may lose precision: f32 <- f64 [W 04/05/23 08:28:58.286 16373] [type_check.cpp:type_check_store@36] [$18324] Local store may lose precision: f32 <- f64 [W 04/05/23 08:28:58.286 16373] [type_check.cpp:type_check_store@36] [$18326] Local store may lose precision: f32 <- f64 [W 04/05/23 08:28:58.286 16373] [type_check.cpp:type_check_store@36] [$18328] Local store may lose precision: f32 <- f64 [W 04/05/23 08:28:58.286 16373] [type_check.cpp:type_check_store@36] [$18330] Local store may lose precision: f32 <- f64 [W 04/05/23 08:28:58.286 16373] [type_check.cpp:type_check_store@36] [$18332] Local store may lose precision: f32 <- f64 [W 04/05/23 08:28:58.286 16373] [type_check.cpp:type_check_store@36] [$18334] Local store may lose precision: f32 <- f64 [W 04/05/23 08:29:17.144 16373] [type_check.cpp:type_check_store@36] [$77533] Global store may lose precision: i8 <- i32 File "/opt/data/private/PAC-NeRF-main/lib/engine/mpm_simulator.py", line 318, in check_cfl: self.cfl_satisfy[None] = 0 ^^^^^^^^^^^^^^^^^^^^^^^^^^ [W 04/05/23 08:29:17.144 16373] [type_check.cpp:type_check_store@36] [$77572] Global store may lose precision: i8 <- i32 File "/opt/data/private/PAC-NeRF-main/lib/engine/mpm_simulator.py", line 320, in check_cfl: self.cfl_satisfy[None] = 0 ^^^^^^^^^^^^^^^^^^^^^^^^^^ [Forward] loss: 0.14419050514698029: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 5/5 [00:36<00:00, 7.29s/it] Time elaspsed: 1071.8159348964691 [Backward]: 0%| | 0/5 [00:00<?, ?it/s][W 04/05/23 08:30:06.992 16373] [type_check.cpp:type_check_store@36] [$173665] Atomic add may lose precision: f32 <- f64 File "/opt/data/private/PAC-NeRF-main/lib/engine/mpm_simulator.py", line 157, in svd_grad: self.F_tmp.grad[p] += self.backward_svd(self.U.grad[p].cast(ti.f64), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ self.sig.grad[p].cast(ti.f64), self.V.grad[p].cast(ti.f64), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ self.U[p].cast(ti.f64), self.sig[p].cast(ti.f64), self.V[p].cast(ti.f64)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[W 04/05/23 08:30:06.992 16373] [type_check.cpp:type_check_store@36] [$173670] Atomic add may lose precision: f32 <- f64 File "/opt/data/private/PAC-NeRF-main/lib/engine/mpm_simulator.py", line 157, in svd_grad: self.F_tmp.grad[p] += self.backward_svd(self.U.grad[p].cast(ti.f64), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ self.sig.grad[p].cast(ti.f64), self.V.grad[p].cast(ti.f64), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ self.U[p].cast(ti.f64), self.sig[p].cast(ti.f64), self.V[p].cast(ti.f64)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[W 04/05/23 08:30:06.992 16373] [type_check.cpp:type_check_store@36] [$173675] Atomic add may lose precision: f32 <- f64 File "/opt/data/private/PAC-NeRF-main/lib/engine/mpm_simulator.py", line 157, in svd_grad: self.F_tmp.grad[p] += self.backward_svd(self.U.grad[p].cast(ti.f64), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ self.sig.grad[p].cast(ti.f64), self.V.grad[p].cast(ti.f64), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ self.U[p].cast(ti.f64), self.sig[p].cast(ti.f64), self.V[p].cast(ti.f64)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[W 04/05/23 08:30:06.992 16373] [type_check.cpp:type_check_store@36] [$173680] Atomic add may lose precision: f32 <- f64 File "/opt/data/private/PAC-NeRF-main/lib/engine/mpm_simulator.py", line 157, in svd_grad: self.F_tmp.grad[p] += self.backward_svd(self.U.grad[p].cast(ti.f64), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ self.sig.grad[p].cast(ti.f64), self.V.grad[p].cast(ti.f64), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ self.U[p].cast(ti.f64), self.sig[p].cast(ti.f64), self.V[p].cast(ti.f64)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[W 04/05/23 08:30:06.992 16373] [type_check.cpp:type_check_store@36] [$173685] Atomic add may lose precision: f32 <- f64 File "/opt/data/private/PAC-NeRF-main/lib/engine/mpm_simulator.py", line 157, in svd_grad: self.F_tmp.grad[p] += self.backward_svd(self.U.grad[p].cast(ti.f64), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ self.sig.grad[p].cast(ti.f64), self.V.grad[p].cast(ti.f64), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ self.U[p].cast(ti.f64), self.sig[p].cast(ti.f64), self.V[p].cast(ti.f64)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[W 04/05/23 08:30:06.992 16373] [type_check.cpp:type_check_store@36] [$173690] Atomic add may lose precision: f32 <- f64 File "/opt/data/private/PAC-NeRF-main/lib/engine/mpm_simulator.py", line 157, in svd_grad: self.F_tmp.grad[p] += self.backward_svd(self.U.grad[p].cast(ti.f64), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ self.sig.grad[p].cast(ti.f64), self.V.grad[p].cast(ti.f64), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ self.U[p].cast(ti.f64), self.sig[p].cast(ti.f64), self.V[p].cast(ti.f64)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[W 04/05/23 08:30:06.992 16373] [type_check.cpp:type_check_store@36] [$173695] Atomic add may lose precision: f32 <- f64 File "/opt/data/private/PAC-NeRF-main/lib/engine/mpm_simulator.py", line 157, in svd_grad: self.F_tmp.grad[p] += self.backward_svd(self.U.grad[p].cast(ti.f64), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ self.sig.grad[p].cast(ti.f64), self.V.grad[p].cast(ti.f64), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ self.U[p].cast(ti.f64), self.sig[p].cast(ti.f64), self.V[p].cast(ti.f64)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[W 04/05/23 08:30:06.992 16373] [type_check.cpp:type_check_store@36] [$173700] Atomic add may lose precision: f32 <- f64 File "/opt/data/private/PAC-NeRF-main/lib/engine/mpm_simulator.py", line 157, in svd_grad: self.F_tmp.grad[p] += self.backward_svd(self.U.grad[p].cast(ti.f64), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ self.sig.grad[p].cast(ti.f64), self.V.grad[p].cast(ti.f64), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ self.U[p].cast(ti.f64), self.sig[p].cast(ti.f64), self.V[p].cast(ti.f64)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[W 04/05/23 08:30:06.992 16373] [type_check.cpp:type_check_store@36] [$173705] Atomic add may lose precision: f32 <- f64 File "/opt/data/private/PAC-NeRF-main/lib/engine/mpm_simulator.py", line 157, in svd_grad: self.F_tmp.grad[p] += self.backward_svd(self.U.grad[p].cast(ti.f64), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ self.sig.grad[p].cast(ti.f64), self.V.grad[p].cast(ti.f64), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ self.U[p].cast(ti.f64), self.sig[p].cast(ti.f64), self.V[p].cast(ti.f64))

xuan-li commented 1 year ago

The warnings is because that I used double precision for SVD. But I think it will be fine to just use float.