Dieses Dokument bietet einen Überblick über zwei Open-Source-Projekte: XXL-JOB, ein verteiltes Aufgabenplanungs-Framework, und Mitsuba 3, ein forschungsorientiertes Rendering-System. Beide Projekte bieten detaillierte Dokumentation, Tutorials und Community-Unterstützung Benutzerfreundlichkeit und Skalierbarkeit, während Mitsuba 3 bei Rendering-Simulationen hohe Leistung und Differenzierbarkeit in den Vordergrund stellt.
XXL-JOB
XXL-JOB, ein verteiltes Aufgabenplanungs-Framework.
-- Startseite --
Einführung
XXL-JOB ist ein verteiltes Aufgabenplanungs-Framework.
Das zentrale Designziel besteht darin, schnell zu entwickeln und zu lernen, einfach, leichtgewichtig und leicht zu erweitern.
Mittlerweile ist es bereits Open Source und viele Unternehmen nutzen es in Produktionsumgebungen, also „out-of-the-box“.
XXL-JOB ist eine verteilte Aufgabenplanungsplattform. Die wichtigsten Designziele sind schnelle Entwicklung, einfaches Erlernen, geringes Gewicht und einfache Erweiterung. Jetzt ist der Quellcode offen und mit den Online-Produktlinien vieler Unternehmen verbunden und kann sofort verwendet werden.
Sponsor
XXL-JOB ist ein Open-Source- und kostenloses Projekt, dessen Weiterentwicklung ausschließlich durch die Unterstützung dieser großartigen Unterstützer ermöglicht wird.
XXL-JOB ist ein Open-Source- und kostenloses Projekt, dessen Weiterentwicklung dank der Unterstützung seiner Unterstützer durchaus möglich ist. Open Source ist nicht einfach. Gehen Sie zum Sponsoring der Projektentwicklung
Dokumentation
Kommunikation
Merkmale
Entwicklung
Mitte 2015 habe ich das XXL-JOB-Projektlager auf Github erstellt und den ersten Commit eingereicht. Anschließend habe ich das Systemstrukturdesign, die UI-Auswahl und das Interaktionsdesign durchgeführt.
Von 2015 bis November veröffentlichte XXL-JOB endlich die erste Hauptversion V1.0, und dann veröffentlichte ich sie für OSCHINA. XXL-JOB wurde von @红水 auf OSCHINA empfohlen und erreichte den ersten Platz bei OSCHINAs „Hot Moves“. Die Open-Source-Software von .oschina steht monatlich an erster Stelle. Ich möchte Hongshu meinen besonderen Dank aussprechen und Ihnen allen für Ihre Aufmerksamkeit und Unterstützung danken.
Von 2015 bis Dezember habe ich XXL-JOB in der internen Wissensdatenbank unseres Unternehmens veröffentlicht und es wurde von internen Kollegen anerkannt.
Von Januar 2016 bis Januar hat unser Unternehmen mit der internen Zugangs- und Anpassungsarbeit von XXL-JOB begonnen. Wir möchten uns bei zwei Kollegen, Yuan und Yin, für ihren Beitrag bedanken, aber auch bei anderen internen Kollegen, die uns Aufmerksamkeit und Unterstützung geschenkt haben.
Am 13.05.2017 betrat ich in der „Launching Up“-Sitzung der „62. Open Source China Source Innovation Conference“ in Shanghai die Bühne, um eine Rede über XXL-JOB zu halten, und die 500 Zuschauer reagierten begeistert ( abgebildet) Artikelrezension).
Am 22.10.2017 nahm ich an der von Cloud Open Talk und Spring Cloud China Community organisierten „Offensive Microservices Practical School Shanghai Station“ teil, um eine Rede zum Thema XXL-JOB zu halten mit XXL nach dem Treffen. -JOB-Benutzer haben hitzige Diskussionen und Austausch.
Am 11.12.2017 hatte XXL-JOB die Ehre, am „InfoQ ArchSummit Global Architect Summit“ teilzunehmen und wurde vor Ort von „Teacher Yang Bo“, Architekturdirektor von Paipaidai, im Sonderthema „Microservice Principles, Infrastruktur und Open-Source-Praktiken“.
Am 18.12.2017 nahm XXL-JOB am Wettbewerb „Beliebteste chinesische Open-Source-Software 2017“ teil und konkurrierte unter etwa 9.000 inländischen Open-Source-Projekten, die zu diesem Zeitpunkt eingereicht worden waren, und schaffte es schließlich in die Top 30.
Am 15. Januar 2018 nahm XXL-JOB am Wettbewerb „2017 Code Cloud Most Popular Open Source Projects“ teil und konkurrierte unter rund 6.500 zu diesem Zeitpunkt eingereichten Code Cloud-Projekten und schaffte es schließlich in die Top 20.
Am 14. April 2018 betrat ich auf der „2018 Internet Developers Conference“ von iTechPlus in Shanghai die Bühne, um einen Vortrag zum Thema XXL-JOB zu halten. Das Publikum reagierte begeistert und führte im Anschluss an das Treffen eine hitzige Diskussion mit XXL-JOB-Anwendern .
Am 27.05.2018 betrat ich bei der Themensitzung „Architektur“ der „75. Open Source China Source Innovation Conference“ in Shanghai die Bühne, um vor Tausenden von Zuhörern eine Grundsatzrede zum Thema „Infrastructure and Middleware Map“ zu halten Mitglieder reagierten begeistert (Bild- und Textrezension).
Am 05.12.2018 nahm XXL-JOB am Wettbewerb „Beliebteste chinesische Open-Source-Software 2018“ teil und konkurrierte dabei unter mehr als 10.000 bis dahin eingereichten Open-Source-Projekten und belegte schließlich den 19. Platz.
Am 10.12.2019 nahm XXL-JOB am Wettbewerb „Beliebteste chinesische Open-Source-Software 2019“ teil und konkurrierte unter mehr als 10.000 zu diesem Zeitpunkt eingereichten Open-Source-Projekten und belegte schließlich den 9. Platz im „Development Framework and Kategorie „Grundkomponenten“.
Am 16. November 2020 nahm XXL-JOB am Wettbewerb „Beliebteste chinesische Open-Source-Software 2020“ teil, konkurrierte dabei unter mehr als 10.000 bis dahin eingereichten Open-Source-Projekten und belegte schließlich den 8. Platz im „Development Framework and Basic“. „Komponentenkategorie“ .
Am 06.12.2021 nahm XXL-JOB am Wettbewerb „2021 OSC China Open Source Project Selection“ teil. Es konkurrierte unter mehr als 10.000 bis dahin eingereichten Open-Source-Projekten und wurde schließlich zum „Beliebtesten“ gewählt Projekt".
Unser Unternehmen Dianping hat derzeit auf XXL-JOB zugegriffen, das den internen Alias „Ferrari“ hat (Ferrari basiert auf der V1.1-Version von XXL-JOB und wird für neue Zugriffsanwendungen empfohlen, auf die neueste Version zu aktualisieren). .
Den neuesten Statistiken zufolge wurde das System vom 21.01.2016 bis zum 01.12.2017 etwa 1 Million Mal ausgeliefert und zeigte eine hervorragende Leistung. Es wird empfohlen, dass neue Zugriffsanwendungen die neueste Version verwenden, da nach Dutzenden von Versionsaktualisierungen das Aufgabenmodell, das UI-Interaktionsmodell und das zugrunde liegende Planungskommunikationsmodell des Systems erheblich optimiert und verbessert wurden und die Kernfunktionen stabiler und effizienter sind.
Bisher ist XXL-JOB an die Online-Produktlinien vieler Unternehmen angebunden und die Zugriffsszenarien umfassen E-Commerce-Geschäfte, O2O-Geschäfte und Big-Data-Operationen usw. Zum aktuellen statistischen Zeitpunkt sind die Unternehmen, die XXL-JOB anbieten wurde mit Folgendem verbunden, ist aber nicht darauf beschränkt:
Weitere angeschlossene Unternehmen können sich gerne unter der Registrierungsadresse registrieren. Die Registrierung dient nur der Produktwerbung.
Jeder ist willkommen, aufmerksam zu sein und zu nutzen, auch XXL-JOB wird Veränderungen annehmen und sich weiterentwickeln.
Mitwirken
Beiträge sind willkommen! Öffnen Sie eine Pull-Anfrage, um einen Fehler zu beheben, oder öffnen Sie ein Problem, um eine neue Funktion oder Änderung zu besprechen.
Willkommen bei der Mitarbeit am Projekt! Senden Sie beispielsweise eine PR, um einen Fehler zu beheben, oder erstellen Sie ein neues Problem, um neue Funktionen oder Änderungen zu besprechen.
Urheberrecht und Lizenz
Dieses Produkt ist Open Source und kostenlos und bietet weiterhin kostenlosen technischen Support für Privat- und Unternehmensbenutzer.
Das Produkt ist Open Source und kostenlos, und der technische Support der Community wird weiterhin kostenlos bereitgestellt. Es ist für Einzelpersonen und Unternehmen frei zugänglich und nutzbar. Bei Bedarf können Sie den Autor per E-Mail kontaktieren, um eine kostenlose Projektgenehmigung zu erhalten.
Beispiel:
Mitsuba Renderer 3
Dokumentation | Tutorial-Videos | Linux | MacOS | Windows | PyPI |
---|---|---|---|---|---|
️
Warnung
️
Derzeit werden dort zahlreiche undokumentierte und instabile Arbeiten durchgeführt
Wir empfehlen Ihnen dringend master
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
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-Materialien integriert.
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 Volumen
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
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. Die Installation von Mitsuba ist auf diese Weise so einfach wie das Ausführen
pip install mitsuba
in der Befehlszeile 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
Um auf zusätzliche Varianten zugreifen zu können, müssen Sie Folgendes tun:
Kompilieren Sie eine benutzerdefinierte Version von Dr.Jit mit CMake
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 Szene = 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}