Ce document donne un aperçu de deux projets open source : XXL-JOB, un cadre de planification de tâches distribuées, et Mitsuba 3, un système de rendu orienté recherche. Les deux projets proposent une documentation détaillée, des didacticiels et un support communautaire sur lequel XXL-JOB se concentre. facilité d'utilisation et évolutivité, tandis que Mitsuba 3 donne la priorité aux hautes performances et à la différenciabilité dans les simulations de rendu.
XXL-JOB
XXL-JOB, un framework de planification de tâches distribuées.
-- Page d'accueil --
Introduction
XXL-JOB est un framework de planification de tâches distribué.
L'objectif principal de la conception est de développer rapidement et d'apprendre de manière simple, légère et facile à développer.
Aujourd'hui, il est déjà open source et de nombreuses entreprises l'utilisent dans des environnements de production, véritablement « prêts à l'emploi ».
XXL-JOB est une plate-forme de planification de tâches distribuée. Ses principaux objectifs de conception sont un développement rapide, un apprentissage facile, une légèreté et une facilité d'extension. Désormais, le code source est ouvert et connecté aux gammes de produits en ligne de nombreuses entreprises, et il peut être utilisé immédiatement.
Parrainer
XXL-JOB est un projet open source et gratuit, dont le développement continu est entièrement rendu possible grâce au soutien de ces formidables bailleurs de fonds.
XXL-JOB est un projet open source et gratuit, et son développement continu est entièrement possible grâce au soutien de ses bailleurs de fonds. L'open source n'est pas facile, allez sponsoriser le développement de projets
Documentation
Communication
Caractéristiques
Développement
Mi-2015, j'ai créé l'entrepôt du projet XXL-JOB sur github et soumis le premier commit. J'ai ensuite réalisé la conception de la structure du système, la sélection de l'UI, la conception des interactions...
De 2015 à novembre, XXL-JOB a finalement LIBÉRÉ la première version majeure V1.0, puis je l'ai publiée sur OSCHINA. XXL-JOB a été recommandé par @红水 sur OSCHINA, et a atteint le premier rang des « Hot Moves » d'OSCHINA et git. Le logiciel open source de .oschina s'est classé premier en termes de popularité mensuelle. Je voudrais exprimer mes remerciements particuliers à Hongshu et vous remercier tous pour votre attention et votre soutien.
De 2015 à décembre, j'ai publié XXL-JOB dans la base de connaissances interne de notre entreprise, et il a été reconnu par mes collègues internes.
De janvier 2016 à janvier, notre entreprise a lancé le travail d'accès interne et de personnalisation de XXL-JOB. Nous tenons à remercier deux collègues, Yuan et Yin, pour leur contribution, ainsi que d'autres collègues internes qui ont apporté leur attention et leur soutien.
Le 13/05/2017, lors de la session « Launching Up » de la « 62nd Open Source China Source Innovation Conference » qui s'est tenue à Shanghai, je suis monté sur scène pour prononcer un discours sur XXL-JOB, et les 500 spectateurs ont répondu avec enthousiasme ( photo) critique d'article).
Le 22/10/2017, j'ai participé à l'« Offensive Microservices Practical School Shanghai Station » organisée par Cloud Open Talk et Spring Cloud China Community. Je suis monté sur scène pour prononcer un discours sur XXL-JOB. Le public a répondu avec enthousiasme et a parlé. avec XXL après la réunion -Les utilisateurs de JOB ont eu des discussions et des échanges animés.
Le 11/12/2017, XXL-JOB a eu l'honneur de participer au "InfoQ ArchSummit Global Architect Summit" et a été présenté sur place par "Teacher Yang Bo", directeur de l'architecture de Paipaidai, dans le thème spécial "Principes des microservices, Infrastructure et pratiques Open Source".
Le 18/12/2017, XXL-JOB a participé au concours « Logiciel open source chinois le plus populaire de 2017 », en compétition parmi environ 9 000 projets open source nationaux qui avaient été inscrits à ce moment-là, et est finalement entré dans le top 30.
Le 15 janvier 2018, XXL-JOB a participé au concours « 2017 Code Cloud Most Popular Open Source Projects », en compétition parmi environ 6 500 projets de code cloud qui avaient été inscrits à ce moment-là, et est finalement entré dans le top 20.
Le 14 avril 2018, lors de la « 2018 Internet Developers Conference » organisée par iTechPlus à Shanghai, je suis monté sur scène pour prononcer un discours sur XXL-JOB. Le public a répondu avec enthousiasme et a eu une discussion animée avec les utilisateurs de XXL-JOB après la réunion. .
Le 27/05/2018, lors de la session thématique « Architecture » de la « 75e Conférence sur l'innovation Open Source China Source » qui s'est tenue à Shanghai, je suis monté sur scène pour prononcer un discours d'ouverture sur « la carte des infrastructures et des middlewares », devant des milliers de spectateurs. Les membres ont répondu avec enthousiasme (revue de photos et de textes).
Le 05/12/2018, XXL-JOB a participé au concours « Logiciel open source chinois le plus populaire de 2018 », en compétition parmi plus de 10 000 projets open source qui avaient été soumis à ce moment-là, et s'est finalement classé 19e.
Le 10/12/2019, XXL-JOB a participé au concours « 2019 Most Popular Chinese Open Source Software », en compétition parmi plus de 10 000 projets open source qui avaient été soumis à ce moment-là, et s'est finalement classé 9ème dans le « Development Framework and Catégorie Composants de base" .
Le 16 novembre 2020, XXL-JOB a participé au concours « 2020 Most Popular Chinese Open Source Software », en compétition parmi plus de 10 000 projets open source qui avaient été soumis à ce moment-là, et s'est finalement classé 8ème dans le « Development Framework and Basic Catégorie de composants" .
Le 06/12/2021, XXL-JOB a participé au concours « 2021 OSC China Open Source Project Selection ». Il a concouru parmi plus de 10 000 projets open source qui avaient été soumis à ce moment-là et a finalement été sélectionné comme « Les plus populaires. Projet".
Notre société Dianping a actuellement accédé à XXL-JOB, qui a un alias interne de "Ferrari" (Ferrari est personnalisé sur la base de la version V1.1 de XXL-JOB, et il est recommandé pour les nouvelles applications d'accès de passer à la dernière version) .
Selon les dernières statistiques, du 21/01/2016 au 01/12/2017, le système a été expédié environ 1 million de fois, montrant d'excellentes performances. Il est recommandé que les nouvelles applications d'accès utilisent la dernière version, car après des dizaines de mises à jour de version, le modèle de tâches du système, le modèle d'interaction de l'interface utilisateur et le modèle de communication de planification sous-jacent ont été considérablement optimisés et améliorés, et les fonctions de base sont plus stables et efficaces.
Jusqu'à présent, XXL-JOB a été connecté aux gammes de produits en ligne de nombreuses entreprises, et les scénarios d'accès incluent le commerce électronique, les activités O2O et les opérations Big Data, etc. Selon les dernières statistiques, les entreprises qui XXL-JOB a été connecté pour inclure, mais sans s'y limiter :
Les entreprises plus connectées sont invitées à s'inscrire à l'adresse d'enregistrement. L'inscription est uniquement destinée à la promotion des produits.
Tout le monde est invité à y prêter attention et à l'utiliser, XXL-JOB s'adaptera également aux changements et continuera à se développer.
Contribuer
Les contributions sont les bienvenues ! Ouvrez une pull request pour corriger un bug, ou ouvrez un problème pour discuter d'une nouvelle fonctionnalité ou d'un changement.
Bienvenue à contribuer au projet ! Par exemple, soumettez un PR pour corriger un bug ou créez un nouveau problème pour discuter de nouvelles fonctionnalités ou de modifications.
Droit d'auteur et licence
Ce produit est open source et gratuit, et continuera à fournir un support technique communautaire gratuit. Les utilisateurs individuels ou professionnels sont libres d'accès et d'utilisation.
Le produit est open source et gratuit, et un support technique communautaire gratuit continuera à être fourni. Il peut être librement consulté et utilisé par les particuliers ou les entreprises. Si nécessaire, vous pouvez contacter l'auteur par email pour obtenir une autorisation de projet gratuite.
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.
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 Materials,
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.
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 manière est aussi simple que de l'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ène = 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}