Comments (5)
I had just updated everything before I built, it's called from within a Kernel2D though so it looks like it's not considering the host-side version, it's trying this one in compute/include/luisa/func.h instead.
Edit: So I already built with that change in place if that wasn't clear.
template<typename T>
requires is_dsl_v<T> && is_floating_point_or_vector_expr_v<T>
[[nodiscard]] inline auto exp2(T &&x) noexcept {
return detail::make_vector_call<float>(
CallOp::EXP2, std::forward<T>(x));
}
I just noticed host side closure callables were added to that file 4 months ago though, which brings it back to being an issue with the return type of exposure() not being implicitly convertible to one of the compute namespaced types that satisfies the is_dsl_v and is_floating_point_or_vector_expr_v concepts, or maybe the type inference rules just not allowing it to look outside of the luisa:: namespace since assigning the luisa:float3 that was returned to a luisa:compute:dsl:Float3 instead of using auto didn't throw any warnings. I think there's an operator= assigned for the conversion but not an implicit ctor. Either this doesn't happen anywhere else or it was fixed already.
Anway I'll let you know if I find anything else. All of the integrators seemed to work fine (or as well as they're supposed to, I've never been able to get good results from pssmlt or megapm and megawave is extremely slow) until I tried to use the zsobol sampler with something and it created a call in the temp .cu file to a runtime function that didn't exist, which has been preventing luisa from generating anything else since so it just sends zero bytes and optix crashes. The directx backend still works so I'm not sure what's going on there. I'll have to try it again after I've run houdini or something else that reinitializes the driver cleanly.
from luisarender.
Hi @NeedsMoar
Thanks for reporting this issue!
We just added a host-side exp2(float3)
in LuisaCompute (a submodule of LuisaRender) that didn’t exist before. So maybe the type mismatch was because the submodules in your clone are not updated?
Could you try
git submodule update --recursive --init
and see if it fixes the build?
from luisarender.
Thanks for the findings! I'll try to track down the type mismatches ASAP.
Anway I'll let you know if I find anything else. All of the integrators seemed to work fine (or as well as they're supposed to, I've never been able to get good results from pssmlt or megapm and megawave is extremely slow) until I tried to use the zsobol sampler with something and it created a call in the temp .cu file to a runtime function that didn't exist, which has been preventing luisa from generating anything else since so it just sends zero bytes and optix crashes. The directx backend still works so I'm not sure what's going on there. I'll have to try it again after I've run houdini or something else that reinitializes the driver cleanly.
This seems like another issue in the CUDA backend implementation. I'll look into it too.
from luisarender.
Hi @NeedsMoar
I believe the type mismatch issue is fixed now. For some reasons the compiler didn't select the correct overloading, so now I just explicitly specify the namespace as luisa::exp2
to ensure the overloading.
For the second integrator issue, mega-wave
depends on thread-block sync functions that are unavailable with OptiX so it's expected to fail on the CUDA backend. I added an error message in the integrator to inform users.
from luisarender.
Sorry it took a bit. I wiped out my local changes and updated and everything built with no errors. Things seem to work ok fine so I'll go ahead and close this.
from luisarender.
Related Issues (20)
- Is there a full version without "--recursive"? HOT 2
- CMake Generate step failed on MacOS 13.1(M1 Pro) HOT 8
- Failed to build luisa-render-util due to std::endian HOT 8
- Is there any documentation for this project? HOT 2
- Allocation fail warnings with Metal backend HOT 2
- 无法打开输入文件“..\base\Release\luisa-render-base.lib” HOT 3
- How to prevent recompiling kernel for randomized input? HOT 2
- Dispatch refactor of materials/lights/... for shorter shader compilation time HOT 1
- error: could not compile `luisa_compute_backend_impl` due to 5 previous errors; [ 51%] Built target _cargo-build_luisa_compute_ir HOT 3
- -- Checking for module 'zzip-zlib-config' -- No package 'zzip-zlib-config' found HOT 5
- ZipArchiveIOSystem.cpp:99:12: error: ‘voidpf’ does not name a type; did you mean ‘void’? HOT 5
- Shader 'kernel_73b038d546fe000a.ptx' is not found in cache. The shader will be recompiled. HOT 9
- [error] CUDA_ERROR_OUT_OF_MEMORY: out of memory HOT 2
- Save save GPT HOT 2
- Falling back to ad-hoc allocation HOT 2
- Dirac Delta handling HOT 1
- Compiling error "reference to local binding 'basis' declared in enclosing function 'luisa::compute::metal::MetalCurve::build'" HOT 4
- Running "luisa-render-cli" on Windows prints / renders nothing, "luisa-render-cli.exe" works fine though. HOT 4
- 你好 有可以测试的代码吗,python接口支持好像没开始做 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from luisarender.