Ce document fournit des informations sur deux projets distincts : Hazelcast, une plateforme de données en temps réel, et Mitsuba 3, un système de rendu orienté recherche. Hazelcast détaille ses capacités, ses cas d'utilisation et ses directives de contribution, tandis que Mitsuba 3 se concentre sur ses fonctionnalités, ses exemples d'installation et d'utilisation. Les deux offrent une documentation complète et des ressources d’assistance aux utilisateurs.
Noisettecast
Qu'est-ce qu'Hazelcast
Les plus grandes entreprises mondiales font confiance à Hazelcast pour moderniser leurs applications et agir instantanément sur les données en mouvement afin de créer de nouvelles sources de revenus, d'atténuer les risques et de fonctionner plus efficacement. Les entreprises utilisent la plateforme de données unifiée en temps réel de Hazelcast pour traiter les données en streaming, les enrichir avec un contexte historique et prendre des mesures instantanées grâce à une automatisation standard ou basée sur le ML/IA - avant qu'elles ne soient stockées dans une base de données ou un lac de données.
Hazelcast est nommée dans le Gartner Market Guide to Event Stream Processing et leader dans le rapport GigaOm Radar pour les plateformes de streaming de données. Pour rejoindre notre communauté de CXO, d'architectes et de développeurs de marques telles que Lowe's, HSBC, JPMorgan Chase, Volvo, New York Life et autres, visitez hazelcast.com.
Quand utiliser Hazelcast
Hazelcast fournit une plate-forme capable de gérer plusieurs types de charges de travail pour
créer des applications en temps réel.
Principales fonctionnalités
Traitement des données avec état
Hazelcast dispose d'un moteur de traitement de données intégré appelé
Jet, qui peut être utilisé pour créer à la fois du streaming et du temps réel
et des pipelines de données par lots/statiques qui sont élastiques. Il a été prouvé qu'un seul nœud de Hazelcast regroupe 10 millions
événements par seconde avec
latence inférieure à 10 millisecondes. Un cluster de nœuds Hazelcast peut traiter des milliards
événements par
deuxième.
Commencer
Suivez le guide de démarrage
Guide
pour installer et commencer à utiliser Hazelcast.
Documentation
Lire la documentation pour
des détails détaillés sur la façon d’installer Hazelcast et un aperçu des fonctionnalités.
Obtenir de l'aide
Vous pouvez utiliser Slack pour obtenir de l'aide avec Hazelcast.
Comment contribuer
Merci de votre intérêt à contribuer ! Le moyen le plus simple est simplement d'envoyer un pull
demande.
Construire à partir de la source
Construire Hazelcast nécessite au minimum JDK 17. Extrayez la dernière source du
référentiel et utilisez l'installation (ou le package) Maven pour créer :
Il est recommandé d'utiliser le script wrapper Maven inclus.
Il est également possible d'utiliser la distribution Maven locale avec le même
version utilisée dans le script wrapper Maven.
De plus, il existe une construction rapide activée en configurant le système -Dquick
propriété qui ignore les tâches de validation pour des builds locaux plus rapides (par exemple, tests, checkstyle
validation, javadoc, plugins sources, etc.) et ne construit pas d'extensions ni de distribution
modules.
Essai
Tenez compte du fait que la version par défaut exécute des milliers de tests qui peuvent
prendre un temps considérable. Hazelcast dispose de 3 profils de test :
pour exécuter des tests rapides/d'intégration (ceux-ci peuvent être exécutés
en parallèle sans utiliser le réseau en utilisant le profil -P parallelTest).
pour exécuter des tests qui sont soit lents
ou ne peut pas être exécuté en parallèle.
pour exécuter tous les tests en série en utilisant
réseau.
Certains tests nécessitent l'exécution de Docker. Définissez la propriété système -Dhazelcast.disable.docker.tests pour les ignorer.
Lors du développement d'un PR, il suffit d'exécuter vos nouveaux tests et certains
sous-ensemble de tests associé au niveau local. Notre créateur de relations publiques se chargera de faire fonctionner
la suite de tests complète.
Licence
Le code source de ce référentiel est couvert par l'une des deux licences suivantes :
La licence par défaut dans tout le référentiel est Apache License 2.0, sauf si le
l'en-tête spécifie une autre licence.
Remerciements
Nous devons (les bons côtés de) l'expérience utilisateur de notre outil CLI à
picocli.
Droit d'auteur
Copyright (c) 2008-2024, Hazelcast, Inc. Tous droits réservés.
Visitez www.hazelcast.com pour plus d’informations.
exemple:
Moteur de rendu Mitsuba 3
Documentation | Vidéos tutorielles | Linux | Mac OS | Fenêtres | PyPI |
---|---|---|---|---|---|
️
Avertissement
️
Il existe actuellement un grand nombre de travaux non documentés et instables en cours dans
la branche master
. Nous vous recommandons fortement d'utiliser notre
dernière version
jusqu'à nouvel ordre.
Si vous souhaitez déjà tester les modifications à venir, veuillez consulter
ce guide de portage.
Il devrait couvrir la plupart des nouvelles fonctionnalités et des modifications majeures à venir.
Introduction
Mitsuba 3 est un système de rendu orienté recherche pour la lumière directe et inverse
simulation de transport développée à l'EPFL en Suisse.
Il se compose d'une bibliothèque principale et d'un ensemble de plugins qui implémentent des fonctionnalités
allant des matériaux et sources de lumière aux algorithmes de rendu complets.
Mitsuba 3 est reciblable : cela signifie que les implémentations sous-jacentes et
les structures de données peuvent se transformer pour accomplir diverses tâches différentes. Pour
Par exemple, le même code peut simuler à la fois le transport RVB scalaire (classique un rayon à la fois)
ou transport spectral différentiel sur le GPU. Tout cela s'appuie sur
Dr.Jit, un compilateur spécialisé juste à temps (JIT) développé spécifiquement pour ce projet.
Principales caractéristiques
Multiplateforme : Mitsuba 3 a été testé sur Linux ( x86_64
), macOS
( aarch64
, x8664
) et Windows ( x8664
).
Hautes performances : le compilateur Dr.Jit sous-jacent fusionne le code de rendu
en noyaux qui atteignent des performances de pointe en utilisant
un backend LLVM ciblant le CPU et un backend CUDA/OptiX
ciblant les GPU NVIDIA avec l’accélération matérielle du lancer de rayons.
Python d'abord : Mitsuba 3 est profondément intégré à Python. Matériels,
des textures, et même des algorithmes de rendu complets peuvent être développés en Python,
que le système compile JIT (et éventuellement différencie) à la volée.
Cela permet l'expérimentation nécessaire à la recherche en infographie et
d'autres disciplines.
Différenciation : Mitsuba 3 est un moteur de rendu différenciable, ce qui signifie qu'il
peut calculer les dérivées de l'ensemble de la simulation par rapport à l'entrée
des paramètres tels que la pose de la caméra, la géométrie, les BSDF, les textures et les volumes. Il
implémente des algorithmes de rendu différenciables récents développés à l'EPFL.
Spectral & Polarisation : Mitsuba 3 peut être utilisé comme monochromatique
rendu, un rendu basé sur RVB ou un rendu spectral. Chaque variante peut
éventuellement tenir compte des effets de polarisation si vous le souhaitez.
Vidéos tutorielles, documentation
Nous avons enregistré plusieurs vidéos YouTube qui fournissent une introduction douce
Mitsuba 3 et Dr Jit. Au-delà de cela, vous pouvez trouver des cahiers Juypter complets
couvrant une variété d'applications, de guides pratiques et de documentation de référence
sur readthedocs.
Installation
Nous fournissons des roues binaires précompilées via PyPI. Installer Mitsuba de cette façon est aussi simple que d'exécuter
pip installer mitsuba
sur la ligne de commande. Le package Python comprend treize variantes par défaut :
scalar_rgb
scalar_spectral
scalarspectralpolarized
llvmadrgb
llvmadmono
llvmadmono_polarized
llvmadspectral
llvmadspectral_polarized
cudaadrgb
cudaadmono
cudaadmono_polarized
cudaadspectral
cudaadspectral_polarized
Les deux premiers effectuent une simulation classique d'un rayon à la fois en utilisant soit un RVB
ou représentation spectrale des couleurs, tandis que les deux derniers peuvent être utilisés pour l'inverse
rendu sur le CPU ou le GPU. Pour accéder à des variantes supplémentaires, vous devrez
compilez une version personnalisée de Dr.Jit à l'aide de CMake. Veuillez consulter le
documentation
pour plus de détails à ce sujet.
Exigences
Python >= 3.8
(facultatif) Pour le calcul sur le GPU : Nvidia driver >= 495.89
(facultatif) Pour le calcul vectorisé/parallèle sur le CPU : LLVM >= 11.1
Usage
Voici un exemple simple de « Hello World » qui montre à quel point il est simple de restituer un
scène utilisant Mitsuba 3 de Python :
# Importez la bibliothèque en utilisant l'alias "mi" import mitsuba as mi# Définir la variante du renderermi.setvariant('scalarrgb')# Charger une scènecene = mi.loaddict(mi.cornellbox())# Rendre la scèneimg = mi. render(scene)# Écrit l'image rendue dans un fichier EXR mi.Bitmap(img).write('cbox.exr')
Des didacticiels et des exemples de cahiers couvrant une variété d'applications peuvent être trouvés
dans la documentation.
À propos
Ce projet a été créé par Wenzel Jakob.
Des fonctionnalités et/ou améliorations importantes du code ont été apportées par
Sébastien Speierer,
Nicolas Roussel,
Merlin Nimier-David,
Délio Vicini,
Tizian Zeltner,
Baptiste Nicolet,
Miguel Crespo,
Vincent Leroy, et
Ziyi Zhang.
Lorsque vous utilisez Mitsuba 3 dans des projets académiques, veuillez citer :
@software{Mitsuba3,title = {Mitsuba 3 renderer},author = {Wenzel Jakob et Sébastien Speierer et Nicolas Roussel et Merlin Nimier-David et Delio Vicini et Tizian Zeltner et Baptiste Nicolet et Miguel Crespo et Vincent Leroy et Ziyi Zhang},note = {https://mitsuba-renderer.org},version = {3.1.1},année = 2022}