Dieses Dokument enthält Informationen zu zwei unterschiedlichen Projekten: Hazelcast, eine Echtzeit-Datenplattform, und Mitsuba 3, ein forschungsorientiertes Rendering-System. Hazelcast beschreibt seine Fähigkeiten, Anwendungsfälle und Beitragsrichtlinien, während sich Mitsuba 3 auf seine Funktionen, Installation und Anwendungsbeispiele konzentriert. Beide bieten umfassende Dokumentations- und Supportressourcen für Benutzer.
Hazelcast
Was ist Hazelcast?
Weltweit führende Unternehmen vertrauen auf Hazelcast, wenn es darum geht, Anwendungen zu modernisieren und sofort auf übertragene Daten zu reagieren, um neue Einnahmequellen zu erschließen, Risiken zu mindern und effizienter zu arbeiten. Unternehmen nutzen die einheitliche Echtzeit-Datenplattform von Hazelcast, um Streaming-Daten zu verarbeiten, sie mit historischem Kontext anzureichern und mit Standard- oder ML/KI-gesteuerter Automatisierung sofort Maßnahmen zu ergreifen – bevor sie in einer Datenbank oder einem Data Lake gespeichert werden.
Hazelcast wird im Gartner Market Guide to Event Stream Processing genannt und ist ein führender Anbieter im GigaOm Radar Report für Streaming-Datenplattformen. Um unserer Community aus CXOs, Architekten und Entwicklern von Marken wie Lowe's, HSBC, JPMorgan Chase, Volvo, New York Life und anderen beizutreten, besuchen Sie hazelcast.com.
Wann sollte Hazelcast verwendet werden?
Hazelcast bietet eine Plattform, die mehrere Arten von Arbeitslasten bewältigen kann
Erstellen von Echtzeitanwendungen.
Hauptmerkmale
Zustandsbehaftete Datenverarbeitung
Hazelcast verfügt über eine integrierte Datenverarbeitungs-Engine namens
Jet, mit dem sowohl Streaming als auch Echtzeit erstellt werden können
und elastische Batch-/statische Datenpipelines. Es wurde nachgewiesen, dass ein einzelner Hazelcast-Knoten 10 Millionen zusammenfasst
Ereignisse pro Sekunde mit
Latenz unter 10 Millisekunden. Ein Cluster von Hazelcast-Knoten kann Milliarden verarbeiten
Veranstaltungen pro
zweite.
Legen Sie los
Befolgen Sie die Anleitung „Erste Schritte“.
Führung
um Hazelcast zu installieren und zu verwenden.
Dokumentation
Lesen Sie die Dokumentation für
Ausführliche Informationen zur Installation von Hazelcast und eine Übersicht über die Funktionen.
Holen Sie sich Hilfe
Sie können Slack verwenden, um Hilfe zu Hazelcast zu erhalten.
So können Sie einen Beitrag leisten
Vielen Dank für Ihr Interesse an einer Mitarbeit! Der einfachste Weg ist, einfach einen Pull zu senden
Anfrage.
Aus der Quelle bauen
Für die Erstellung von Hazelcast ist mindestens JDK 17 erforderlich. Ziehen Sie die neueste Quelle aus dem
Repository und verwenden Sie die Maven-Installation (oder das Maven-Paket), um Folgendes zu erstellen:
Es wird empfohlen, das mitgelieferte Maven-Wrapper-Skript zu verwenden.
Es ist auch möglich, eine lokale Maven-Distribution damit zu verwenden
Version, die im Maven-Wrapper-Skript verwendet wird.
Darüber hinaus gibt es einen Schnellaufbau, der durch die Einstellung des -Dquick-Systems aktiviert wird
Eigenschaft, die Validierungsaufgaben für schnellere lokale Builds (z. B. Tests, Checkstyle) überspringt
Validierung, Javadoc, Quell-Plugins usw.) und erstellt keine Erweiterungen und Distributionen
Module.
Testen
Bedenken Sie, dass der Standard-Build möglicherweise Tausende von Tests ausführt
nehmen viel Zeit in Anspruch. Hazelcast verfügt über drei Testprofile:
um Schnell-/Integrationstests auszuführen (diese können ausgeführt werden).
parallel ohne Verwendung des Netzwerks mithilfe des Profils -P parallelTest).
um Tests auszuführen, die entweder langsam sind
oder nicht parallel ausgeführt werden können.
um alle Tests seriell auszuführen
Netzwerk.
Für einige Tests ist die Ausführung von Docker erforderlich. Legen Sie die Systemeigenschaft -Dhazelcast.disable.docker.tests fest, um sie zu ignorieren.
Bei der Entwicklung einer PR reicht es aus, Ihre neuen Tests und einige davon durchzuführen
zugehörige Teilmenge von Tests lokal. Unser PR-Builder kümmert sich um den Ablauf
die vollständige Testsuite.
Lizenz
Der Quellcode in diesem Repository ist durch eine von zwei Lizenzen abgedeckt:
Die Standardlizenz im gesamten Repository ist Apache License 2.0, sofern nicht
Der Header gibt eine andere Lizenz an.
Danksagungen
Wir verdanken (die guten Teile) der Benutzererfahrung unseres CLI-Tools
picocli.
Copyright
Copyright (c) 2008–2024, Hazelcast, Inc. Alle Rechte vorbehalten.
Weitere Informationen finden Sie unter www.hazelcast.com.
Beispiel:
Mitsuba Renderer 3
Dokumentation | Tutorial-Videos | Linux | MacOS | Windows | PyPI |
---|---|---|---|---|---|
️
Warnung
️
Derzeit gibt es hier eine große Menge undokumentierter und instabiler Arbeiten
der master
. Wir empfehlen Ihnen dringend, unsere zu verwenden
neueste Version
bis auf Weiteres.
Wenn Sie die bevorstehenden Änderungen bereits ausprobieren möchten, schauen Sie sich bitte um
dieser Portierungsanleitung.
Es sollte die meisten kommenden neuen Funktionen und Breaking Changes abdecken.
Einführung
Mitsuba 3 ist ein forschungsorientiertes Rendering-System für Vorwärts- und Rückwärtslicht
Transportsimulation, entwickelt an der EPFL in der Schweiz.
Es besteht aus einer Kernbibliothek und einer Reihe von Plugins, die Funktionen implementieren
von Materialien und Lichtquellen bis hin zu kompletten Rendering-Algorithmen.
Mitsuba 3 ist retargetierbar : Das bedeutet, dass die zugrunde liegenden Implementierungen und
Datenstrukturen können sich verändern, um verschiedene Aufgaben zu erfüllen. Für
Beispielsweise kann derselbe Code beide skalaren (klassischen, jeweils einen Strahl gleichzeitig ausführenden) RGB-Transporte simulieren
oder differenzieller spektraler Transport auf der GPU. Darauf baut alles auf
Dr.Jit, ein spezialisierter Just-in-Time -Compiler (JIT), der speziell für dieses Projekt entwickelt wurde.
Hauptmerkmale
Plattformübergreifend : Mitsuba 3 wurde unter Linux ( x86_64
) und macOS getestet
( aarch64
, x8664
) und Windows ( x8664
).
Hohe Leistung : Der zugrunde liegende Dr.Jit-Compiler verschmilzt Rendering-Code
in Kernel, die modernste Leistung erzielen
ein LLVM-Backend, das auf die CPU abzielt, und ein CUDA/OptiX-Backend
zielt auf NVIDIA-GPUs mit Raytracing-Hardwarebeschleunigung ab.
Python zuerst : Mitsuba 3 ist tief in Python integriert. Materialien,
Texturen und sogar vollständige Rendering-Algorithmen können in Python entwickelt werden,
die das System im laufenden Betrieb JIT-kompiliert (und optional differenziert).
Dies ermöglicht die Experimente, die für die Forschung in der Computergrafik erforderlich sind
andere Disziplinen.
Differenzierung : Mitsuba 3 ist ein differenzierbarer Renderer, was bedeutet, dass er
kann Ableitungen der gesamten Simulation in Bezug auf die Eingabe berechnen
Parameter wie Kameraposition, Geometrie, BSDFs, Texturen und Volumina. Es
implementiert aktuelle differenzierbare Rendering-Algorithmen, die an der EPFL entwickelt wurden.
Spektral und Polarisation : Mitsuba 3 kann monochromatisch verwendet werden
Renderer, RGB-basierter Renderer oder Spektralrenderer. Jede Variante kann
Berücksichtigen Sie optional die Auswirkungen der Polarisation, falls gewünscht.
Tutorial-Videos, Dokumentation
Wir haben mehrere YouTube-Videos aufgenommen, die eine sanfte Einführung bieten
Mitsuba 3 und Dr.Jit. Darüber hinaus finden Sie komplette Juypter-Notizbücher
Es umfasst eine Vielzahl von Anwendungen, Anleitungen und Referenzdokumentationen
auf readthedocs.
Installation
Wir stellen vorkompilierte Binärräder über PyPI bereit. Mitsuba auf diese Weise zu installieren ist so einfach wie das Ausführen
pip install mitsuba
auf der Kommandozeile. Das Python-Paket enthält standardmäßig dreizehn Varianten:
scalar_rgb
scalar_spectral
scalarspectralpolarized
llvmadrgb
llvmadmono
llvmadmono_polarized
llvmadspectral
llvmadspectral_polarized
cudaadrgb
cudaadmono
cudaadmono_polarized
cudaadspectral
cudaadspectral_polarized
Die ersten beiden führen eine klassische Einzelstrahl-Simulation mit entweder einem RGB durch
oder spektrale Farbdarstellung, wobei die beiden letzteren für die Umkehrung verwendet werden können
Rendern auf der CPU oder GPU. Um auf zusätzliche Varianten zugreifen zu können, müssen Sie Folgendes tun
Kompilieren Sie eine benutzerdefinierte Version von Dr.Jit mit CMake. Bitte beachten Sie die
Dokumentation
Einzelheiten hierzu finden Sie hier.
Anforderungen
Python >= 3.8
(optional) Für Berechnung auf der GPU: Nvidia driver >= 495.89
(optional) Für vektorisierte / parallele Berechnung auf der CPU: LLVM >= 11.1
Verwendung
Hier ist ein einfaches „Hello World“-Beispiel, das zeigt, wie einfach es ist, ein zu rendern
Szene mit Mitsuba 3 aus Python:
# Importieren Sie die Bibliothek mit dem Alias „mi“import mitsuba as mi# Legen Sie die Variante des Renderers festmi.setvariant('scalarrgb')# Laden Sie eine Szenescene = mi.loaddict(mi.cornellbox())# Rendern Sie die Szeneimg = mi. render(scene)# Schreiben Sie das gerenderte Bild in eine EXR-Dateimi.Bitmap(img).write('cbox.exr')
Es stehen Tutorials und Beispiel-Notebooks für eine Vielzahl von Anwendungen zur Verfügung
in der Dokumentation.
Um
Dieses Projekt wurde von Wenzel Jakob erstellt.
Wesentliche Funktionen und/oder Verbesserungen am Code wurden von beigesteuert
Sébastien Speierer,
Nicolas Roussel,
Merlin Nimier-David,
Delio Vicini,
Tizian Zeltner,
Baptiste Nicolet,
Miguel Crespo,
Vincent Leroy und
Ziyi Zhang.
Wenn Sie Mitsuba 3 in akademischen Projekten verwenden, geben Sie bitte Folgendes an:
@software{Mitsuba3,title = {Mitsuba 3 renderer},author = {Wenzel Jakob und Sébastien Speierer und Nicolas Roussel und Merlin Nimier-David und Delio Vicini und Tizian Zeltner und Baptiste Nicolet und Miguel Crespo und Vincent Leroy und Ziyi Zhang},Anmerkung = {https://mitsuba-renderer.org},Version = {3.1.1},Jahr = 2022}