This document provides information on two distinct projects: Hazelcast, a real-time data platform, and Mitsuba 3, a research-oriented rendering system. Hazelcast details its capabilities, use cases, and contribution guidelines, while Mitsuba 3 focuses on its features, installation, and usage examples. Both offer comprehensive documentation and support resources for users.
Hazelcast
What is Hazelcast
The world’s leading companies trust Hazelcast to modernize applications and take instant action on data in motion to create new revenue streams, mitigate risk, and operate more efficiently. Businesses use Hazelcast’s unified real-time data platform to process streaming data, enrich it with historical context and take instant action with standard or ML/AI-driven automation - before it is stored in a database or data lake.
Hazelcast is named in the Gartner Market Guide to Event Stream Processing and a leader in the GigaOm Radar Report for Streaming Data Platforms. To join our community of CXOs, architects and developers at brands such as Lowe’s, HSBC, JPMorgan Chase, Volvo, New York Life, and others, visit hazelcast.com.
When to use Hazelcast
Hazelcast provides a platform that can handle multiple types of workloads for
building real-time applications.
Key Features
Stateful Data Processing
Hazelcast has a built-in data processing engine called
Jet, which can be used to build both streaming/real-time
and batch/static data pipelines that are elastic. A single node of Hazelcast has been proven to aggregate 10 million
events per second with
latency under 10 milliseconds. A cluster of Hazelcast nodes can process billion
events per
second.
Get Started
Follow the Getting Started
Guide
to install and start using Hazelcast.
Documentation
Read the documentation for
in-depth details about how to install Hazelcast and an overview of the features.
Get Help
You can use Slack for getting help with Hazelcast.
How to Contribute
Thanks for your interest in contributing! The easiest way is to just send a pull
request.
Building From Source
Building Hazelcast requires at minimum JDK 17. Pull the latest source from the
repository and use Maven install (or package) to build:
It is recommended to use the included Maven wrapper script.
It is also possible to use local Maven distribution with the same
version that is used in the Maven wrapper script.
Additionally, there is a quick build activated by setting the -Dquick system
property that skips validation tasks for faster local builds (e.g. tests, checkstyle
validation, javadoc, source plugins etc) and does not build extensions and distribution
modules.
Testing
Take into account that the default build executes thousands of tests which may
take a considerable amount of time. Hazelcast has 3 testing profiles:
to run quick/integration tests (those can be run
in parallel without using network by using -P parallelTest profile).
to run tests that are either slow
or cannot be run in parallel.
to run all tests serially using
network.
Some tests require Docker to run. Set -Dhazelcast.disable.docker.tests system property to ignore them.
When developing a PR it is sufficient to run your new tests and some
related subset of tests locally. Our PR builder will take care of running
the full test suite.
License
Source code in this repository is covered by one of two licenses:
The default license throughout the repository is Apache License 2.0 unless the
header specifies another license.
Acknowledgments
We owe (the good parts of) our CLI tool's user experience to
picocli.
Copyright
Copyright (c) 2008-2024, Hazelcast, Inc. All Rights Reserved.
Visit www.hazelcast.com for more info.
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
or 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
or 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.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 Crespo and Vincent Leroy and Ziyi Zhang},note = {https://mitsuba-renderer.org},version = {3.1.1},year = 2022}