Comments (5)
Indeed it seems that release wheels for the very large amount of variants is not practical. However I believe a very large percentage of non computer graphic researchers would be satisfied with only a small subset of the variants. Probably rgb+scalar and rgb+packet with AVX would be enough for most non researcher people. Like done when installing Tensorflow from the wheel on pypi, a message inviting the user to recompile the library could be printed in case AVX2,SSE or AVX512 is detected at run time. I believe that a wheel with a restricted set of variants is better than no wheel at all.
I understand from your comment that the main target for this library is computer graphics researcher. However I believe this renderer could be very useful to many people outside that community, in the computer vision community for example and in the python ecosystem in general, and I seems to me that it would be a missed opportunity not to make this amazing library easily usable for them too. Unfortunately it seems that there is no "pip installable" ray tracer libraries and I was very enthusiastic at the prospect that Mitsuba could fill that void. The fine grained python binding in Mitsuba make is an even more attractive option.
Having available python wheels for the most commonly use scenarios would allow people to use Mitsuba in their python project as simply an additional dependency in their list of requirements and would make it much easier for them to redistribute their own project that depends on Mitsuba as a python module, as well as running tests for their projects on continuous integration platforms for example without having to use a private Mitsuba wheel and a mechanism to access it.
from mitsuba2.
Hi @martinResearch,
This isn't on our roadmap at the moment. Although it would be great to have this in the future!
from mitsuba2.
Hi @Speierers I experimented with compiling wheels for windows and linux using Appveyor and saving them in the artifacts
Here is the wheel for windows python 3.7:
https://ci.appveyor.com/project/martinResearch/mitsuba2/builds/31969410/job/ufj1omwev0a4htdb/artifacts
Here is the wheel for Unbuntu python 3.7
https://ci.appveyor.com/project/martinResearch/mitsuba2/builds/31969410/job/12r454fqn09xk7ye/artifacts
The time limit on appveyor is 1h which is unfortunately too short to compile all the different flavors of Mitsuba. Also I did not manage to compile for GPU as installing Nvidia's OptiX requires to log on Nvidia's website. This is obtained from this branch
https://github.com/martinResearch/mitsuba2/tree/appveyor_python_wheels_artifacts
It would not be much more work to upload these wheels to Pypi once you created an account there.
Should I prepare a PR with the new setup.py ?
I think that releasing the wheels on Pipy should really be a priority in order to ease adoption.
from mitsuba2.
There is no way that we can release wheels for the huge amount of potential variants and complex dependencies like CUDA, Optix, and vector instruction sets like AVX/AVX512/... This is an advanced tool for researchers, so compiling it should not be an impediment to adoption.
from mitsuba2.
Amazing to see compiled wheels for mitsuba 3 on pypi . Thank you for the great work!
from mitsuba2.
Related Issues (20)
- The porlarization example in the demo video HOT 2
- [🔨 compilation issue] 'cmake -GNinja' step HOT 3
- [❔ other question] How to convert/extract enoki.autodiff_cuda.Float32 type array from Bitmap class? HOT 4
- [❔ other question]runtime API error = 0719 HOT 1
- [🐛 bug report] importing Pytorch after mitsuba => Segmentation fault (core dumped) HOT 1
- [❔ other question] Performance on Windows much lower than Linux? HOT 5
- [🐛 bug report] hdrfilm.cpp: duplicate channel detection HOT 3
- [❔ other question] how to uninstall mitsuba2 in linux? HOT 4
- The examples of Differentiable rendering applications HOT 2
- [🐛 bug report] OptiX "arithmetic involving uninitialized variable!" with Certain Scenes HOT 1
- [✨ feature request] Tutorial on differential rendering material acquisition HOT 1
- Something about code HOT 1
- Caught a critical exception: main [properties.cpp:401] └1∩Æ∞☺
- [✨ feature request] Does the mitsuba2 support bsdf for cloth model? HOT 1
- 用java或C++用物件導向的概念設計程式解下面的問題:讀取一組時間,計算出時針與分針的夾角,時間的格式是0:00到12:00,小時數可能為1或2位數,分鐘數總是2位數,00到59之間。輸出腳讀為0到180之間的值,角度的精確度到千分之一。例如9:00是90.000度,不是-90,也不是270,2:00則是60 HOT 1
- Rendered polarized images' intensity doesn't change according to the change of polarization angle- [❔ other question] HOT 1
- [❔ other question] setting the variant("llvm_spectral_polarized"), the code didn't work HOT 2
- [❔ other question]How can we output UV map in python? HOT 1
- - [❔ other question] I want to optimize the values in the transform component of my sensor plugin HOT 1
- Unable to compile: Windows 10: Visual Studio Community 2022 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 mitsuba2.