This document provides an overview of two open-source projects: XXL-JOB, a distributed task scheduling framework, and Mitsuba 3, a research-oriented rendering system. Both projects offer detailed documentation, tutori documentation, XL. ease of use and scalability, while Mitsuba 3 prioritizes high performance and differentiability in rendering simulations.
XXL-JOB
XXL-JOB, a distributed task scheduling framework.
-- Home Page --
Introduction
XXL-JOB is a distributed task scheduling framework.
It's core design goal is to develop quickly and learn simple, lightweight, and easy to expand.
Now, it's already open source, and many companies use it in production environments, real "out-of-the-box".
XXL-JOB是一個分散式任務排程平台,其核心設計目標是開發快速、學習簡單、輕量、易擴展。現已開放原始碼並接入多家公司線上產品線,開箱即用。
Sponsor
XXL-JOB is an open source and free project, with its ongoing development made possible entirely by the support of these awesome backers.
XXL-JOB 是一個開源且免費項目,其正在進行的開發完全得益於支持者的支持。開源不易,前往贊助專案開發
Documentation
Communication
Features
Development
於2015年年中,我在github上創建XXL-JOB專案倉庫並提交第一個commit,隨之進行系統結構設計,UI選型,互動設計…
於2015-11月,XXL-JOB終於RELEASE了第一個大版本V1.0, 隨後我將之發佈到OSCHINA,XXL-JOB在OSCHINA上獲得了@紅薯的熱門推薦,同期分別達到了OSCHINA的“熱門動彈」排行第一和git.oschina的開源軟體月熱度排行第一,在此特別感謝紅薯,感謝大家的關注與支持。
於2015-12月,我將XXL-JOB發表到我司內部知識庫,並且獲得內部同事認可。
於2016-01月,我司展開XXL-JOB的內部接觸和客製化工作,在此感謝袁某和尹某兩位同事的貢獻,同時也感謝內部其他給與關注與支持的同事。
於2017-05-13,在上海舉辦的"第62期開源中國源創會" 的"放碼過來" 環節,我登台對XXL-JOB做了演講,台下五百位在場觀眾反響熱烈(圖文回顧)。
於2017-10-22,又拍雲Open Talk 聯合Spring Cloud 中國社區舉辦的"進擊的微服務實戰派上海站",我登台對XXL-JOB做了演講,現場觀眾反響熱烈並在會後與XXL -JOB用戶熱烈討論交流。
於2017-12-11,XXL-JOB有幸參會《InfoQ ArchSummit全球架構師高峰會》,並被拍拍貸架構總監"楊波老師"在專題"微服務原理、基礎架構和開源實踐" 中現場介紹。
於2017-12-18,XXL-JOB參與"2017年度最受歡迎中國開源軟體"評比,在當時已錄入的約九千個國產開源專案中角逐,最終進入了前30強。
於2018-01-15,XXL-JOB參與"2017碼雲最火開源專案"評比,在當時已錄入的約六千五百個碼雲專案中角逐,最終進去了前20強。
於2018-04-14,iTechPlus在上海舉辦的"2018互聯網開發者大會",我登台對XXL-JOB做了演講,現場觀眾反響熱烈並在會後與XXL-JOB用戶熱烈討論交流。
於2018-05-27,在上海舉辦的"第75期開源中國源創會" 的"架構" 主題專場,我登台進行「基礎架構與中間件圖譜」主題演講,台下上千位在場觀眾反響熱烈(圖文回顧)。
於2018-12-05,XXL-JOB參與"2018年度最受歡迎中國開源軟體"評比,在當時已輸入的一萬多個開源專案中角逐,最終排名第19名。
於2019-12-10,XXL-JOB參與"2019年度最受歡迎中國開源軟體"評比,在當時已錄入的一萬多個開源專案中角逐,最終排名"開發框架和基礎組件類"第9名。
於2020-11-16,XXL-JOB參與"2020年度最受歡迎中國開源軟體"評比,在當時已錄入的一萬多個開源專案中角逐,最終排名"開發框架和基礎組件類"第8名。
於2021-12-06,XXL-JOB參與"2021年度OSC中國開源專案評選"評比,在當時已錄入的一萬多個開源專案中角逐,最終當選"最受歡迎專案"。
我司大眾點評目前已接入XXL-JOB,內部別名《Ferrari》(Ferrari基於XXL-JOB的V1.1版本定製而成,新接入應用推薦升級最新版本)。
根據最新統計, 自2016-01-21接入至2017-12-01期間,該系統已調度約100萬次,表現優異。新接取應用程式推薦使用最新版本,因為經過數十個版本的更新,系統的任務模型、UI互動模型以及底層調度通訊模型都有了較大的最佳化和提升,核心功能更加穩定且有效率。
至今,XXL-JOB已接入多家公司的線上產品線,接入場景如電商業務,O2O業務和大數據作業等,截止最新統計時間為止,XXL-JOB已接入的公司包括不限於:
更多接取的公司,歡迎在登記地址登記,登記僅為了產品推廣。
歡迎大家的關注與使用,XXL-JOB也將擁抱變化,持續發展。
Contributing
Contributions are welcome! Open a pull request to fix a bug, or open an Issue to discuss a new feature or change.
歡迎參與專案貢獻!例如提交PR修復一個bug,或是新建Issue 討論新功能或是變更。
Copyright and License
This product is open source and free, and will continue to provide free community technical support. Individual or enterprise users are free to access and use.
產品開源免費,並將持續提供免費的社群技術支援。個人或企業內部可自由的存取和使用。如有需要可郵寄聯絡作者免費取得專案授權。
example:
Mitsuba Renderer 3
Documentation | Tutorial videos | Linux | MacOS | Windows | PyPI |
---|---|---|---|---|---|
️
Warning
️
There currently is a large amount of undocumented and unstable work going on in
the master
branch. We'd highly recommend you use our
latest release
until further notice.
If you already want to try out the upcoming changes, please have a look at
this porting guide.
It should cover most of the new features and breaking changes that are coming.
Introduction
Mitsuba 3 is a research-oriented rendering system for forward and inverse light
transport simulation developed at EPFL in Switzerland.
It consists of a core library and a set of plugins that implement functionality
ranging from materials and light sources to complete rendering algorithms.
Mitsuba 3 is retargetable : this means that the underlying implementations and
data structures can transform to accomplish various different tasks. For
example, the same code can simulate both scalar (classic one-ray-at-a-time) RGB transport
或 differential spectral transport on the GPU. This all builds on
Dr.Jit, a specialized just-in-time (JIT) compiler developed specifically for this project.
Main Features
Cross-platform : Mitsuba 3 has been tested on Linux ( x86_64
), macOS
( aarch64
, x8664
), and Windows ( x8664
).
High performance : The underlying Dr.Jit compiler fuses rendering code
into kernels that achieve state-of-the-art performance using
an LLVM backend targeting the CPU and a CUDA/OptiX backend
targeting NVIDIA GPUs with ray tracing hardware acceleration.
Python first : Mitsuba 3 is deeply integrated with Python. Materials,
textures, and even full rendering algorithms can be developed in Python,
which the system JIT-compiles (and optionally differentiates) on the fly.
This enables the experimentation needed for research in computer graphics and
other disciplines.
Differentiation : Mitsuba 3 is a differentiable renderer, meaning that it
can compute derivatives of the entire simulation with respect to input
parameters such as camera pose, geometry, BSDFs, textures, and volumes. It
implements recent differentiable rendering algorithms developed at EPFL.
Spectral & Polarization : Mitsuba 3 can be used as a monochromatic
renderer, RGB-based renderer, or spectral renderer. Each variant can
optionally account for the effects of polarization if desired.
Tutorial videos, documentation
We've recorded several YouTube videos that provide a gentle introduction
Mitsuba 3 and Dr.Jit. Beyond this you can find complete Juypter notebooks
covering a variety of applications, how-to guides, and reference documentation
on readthedocs.
Installation
We provide pre-compiled binary wheels via PyPI. Installing Mitsuba this way is as simple as running
pip install mitsuba
on the command line. The Python package includes thirteen variants by default:
scalar_rgb
scalar_spectral
scalarspectralpolarized
llvmadrgb
llvmadmono
llvmadmono_polarized
llvmadspectral
llvmadspectral_polarized
cudaadrgb
cudaadmono
cudaadmono_polarized
cudaadspectral
cudaadspectral_polarized
The first two perform classic one-ray-at-a-time simulation using either a RGB
或 spectral color representation, while the latter two can be used for inverse
rendering on the CPU or GPU. To access additional variants, you will need to
compile a custom version of Dr.Jit using CMake. Please see the
documentation
for details on this.
Requirements
Python >= 3.8
(optional) For computation on the GPU: Nvidia driver >= 495.89
(optional) For vectorized / parallel computation on the CPU: LLVM >= 11.1
Usage
Here is a simple "Hello World" example that shows how simple it is to render a
scene using Mitsuba 3 from Python:
# Import the library using the alias "mi"import mitsuba as mi# Set the variant of the renderermi.setvariant('scalarrgb')# Load a scenescene = mi.loaddict(mi.cornellbox())# Render the sceneimg = mi.loaddict(mi.cornellbox())# Render the sceneimg = mi. render(scene)# Write the rendered image to an EXR filemi.Bitmap(img).write('cbox.exr')
Tutorials and example notebooks covering a variety of applications can be found
in the documentation.
About
This project was created by Wenzel Jakob.
Significant features and/or improvements to the code were contributed by
Sébastien Speierer,
Nicolas Roussel,
Merlin Nimier-David,
Delio Vicini,
Tizian Zeltner,
Baptiste Nicolet,
Miguel Crespo,
Vincent Leroy, and
Ziyi Zhang.
When using Mitsuba 3 in academic projects, please cite:
@software{Mitsuba3,title = {Mitsuba 3 renderer},author = {Wenzel Jakob and Sébastien Speierer and Nicolas Roussel and Merlin Nimier-David and Delio Vicini and Tizian Zeltner and Baptiste Nicolet and Miguel Cresam and Vinyi, and Tizian Zeltner and Baptiste Nicolet and Miguel Creslem 和 Vinle, Znote = {https://mitsuba-renderer.org},version = {3.1.1},year = 2022}