Este documento proporciona información sobre dos proyectos distintos: Hazelcast, una plataforma de datos en tiempo real, y Mitsuba 3, un sistema de renderizado orientado a la investigación. Hazelcast detalla sus capacidades, casos de uso y pautas de contribución, mientras que Mitsuba 3 se centra en sus características, instalación y ejemplos de uso. Ambos ofrecen documentación completa y recursos de soporte para los usuarios.
Hazelcast
¿Qué es Hazelcast?
Las empresas líderes del mundo confían en Hazelcast para modernizar las aplicaciones y tomar medidas instantáneas sobre los datos en movimiento para crear nuevas fuentes de ingresos, mitigar el riesgo y operar de manera más eficiente. Las empresas utilizan la plataforma de datos unificada en tiempo real de Hazelcast para procesar datos en streaming, enriquecerlos con contexto histórico y tomar medidas instantáneas con automatización estándar o impulsada por ML/AI, antes de que se almacenen en una base de datos o lago de datos.
Hazelcast figura en la Guía de mercado de Gartner para el procesamiento de transmisiones de eventos y es líder en el Informe de radar GigaOm para plataformas de transmisión de datos. Para unirse a nuestra comunidad de CXO, arquitectos y desarrolladores de marcas como Lowe's, HSBC, JPMorgan Chase, Volvo, New York Life y otras, visite hazelcast.com.
Cuándo utilizar Hazelcast
Hazelcast proporciona una plataforma que puede manejar múltiples tipos de cargas de trabajo para
creación de aplicaciones en tiempo real.
Características clave
Procesamiento de datos con estado
Hazelcast tiene un motor de procesamiento de datos incorporado llamado
Jet, que se puede utilizar para crear transmisiones en tiempo real o en tiempo real.
y canalizaciones de datos estáticos/por lotes que son elásticas. Se ha demostrado que un solo nodo de Hazelcast suma 10 millones
eventos por segundo con
Latencia inferior a 10 milisegundos. Un grupo de nodos Hazelcast puede procesar miles de millones
eventos por
segundo.
Empezar
Siga las instrucciones de introducción
Guía
para instalar y comenzar a usar Hazelcast.
Documentación
Lea la documentación para
detalles detallados sobre cómo instalar Hazelcast y una descripción general de las funciones.
Obtener ayuda
Puedes usar Slack para obtener ayuda con Hazelcast.
Cómo contribuir
¡Gracias por tu interés en contribuir! La forma más sencilla es simplemente enviar un tirón.
pedido.
Construyendo desde la fuente
La creación de Hazelcast requiere como mínimo JDK 17. Extraiga la fuente más reciente de
repositorio y use la instalación (o paquete) de Maven para compilar:
Se recomienda utilizar el script contenedor Maven incluido.
También es posible utilizar la distribución local de Maven con el mismo
versión que se utiliza en el script contenedor de Maven.
Además, hay una compilación rápida que se activa configurando el sistema -Dquick
propiedad que omite tareas de validación para compilaciones locales más rápidas (por ejemplo, pruebas, checkstyle
validación, javadoc, complementos fuente, etc.) y no crea extensiones ni distribución
módulos.
Pruebas
Tenga en cuenta que la compilación predeterminada ejecuta miles de pruebas que pueden
tomar una cantidad considerable de tiempo. Hazelcast tiene 3 perfiles de prueba:
para ejecutar pruebas rápidas/de integración (esas se pueden ejecutar
en paralelo sin usar la red usando -P perfil de prueba paralela).
para ejecutar pruebas que son lentas
o no se puede ejecutar en paralelo.
para ejecutar todas las pruebas en serie usando
red.
Algunas pruebas requieren la ejecución de Docker. Establezca la propiedad del sistema -Dhazelcast.disable.docker.tests para ignorarlos.
Al desarrollar un PR, es suficiente ejecutar sus nuevas pruebas y algunas
subconjunto relacionado de pruebas localmente. Nuestro creador de relaciones públicas se encargará de ejecutar
el conjunto de pruebas completo.
Licencia
El código fuente de este repositorio está cubierto por una de dos licencias:
La licencia predeterminada en todo el repositorio es la licencia Apache 2.0 a menos que
El encabezado especifica otra licencia.
Expresiones de gratitud
Le debemos (las partes buenas de) la experiencia de usuario de nuestra herramienta CLI a
picocli.
Derechos de autor
Copyright (c) 2008-2024, Hazelcast, Inc. Todos los derechos reservados.
Visita www.hazelcast.com para obtener más información.
ejemplo:
Renderizador Mitsuba 3
Documentación | Vídeos tutoriales | linux | Mac OS | ventanas | PyPI |
---|---|---|---|---|---|
️
Advertencia
️
Actualmente hay una gran cantidad de trabajo indocumentado e inestable en
la rama master
. Le recomendamos encarecidamente que utilice nuestro
último lanzamiento
hasta nuevo aviso.
Si ya desea probar los próximos cambios, eche un vistazo a
esta guía de portabilidad.
Debería cubrir la mayoría de las nuevas funciones y los cambios importantes que se avecinan.
Introducción
Mitsuba 3 es un sistema de renderizado de luz directa e inversa orientado a la investigación
Simulación de transporte desarrollada en EPFL en Suiza.
Consiste en una biblioteca central y un conjunto de complementos que implementan funciones.
que van desde materiales y fuentes de luz hasta algoritmos de renderizado completos.
Mitsuba 3 es reorientable : esto significa que las implementaciones subyacentes y
Las estructuras de datos pueden transformarse para realizar varias tareas diferentes. Para
Por ejemplo, el mismo código puede simular transporte RGB escalar (clásico de un rayo a la vez)
o transporte espectral diferencial en la GPU. Todo esto se basa en
Dr.Jit, un compilador especializado justo a tiempo (JIT) desarrollado específicamente para este proyecto.
Características principales
Multiplataforma : Mitsuba 3 ha sido probado en Linux ( x86_64
), macOS
( aarch64
, x8664
) y Windows ( x8664
).
Alto rendimiento : el compilador Dr.Jit subyacente fusiona el código de renderizado
en núcleos que logran un rendimiento de última generación utilizando
un backend LLVM dirigido a la CPU y un backend CUDA/OptiX
dirigido a GPU NVIDIA con aceleración de hardware de trazado de rayos.
Python primero : Mitsuba 3 está profundamente integrado con Python. materiales,
Se pueden desarrollar texturas e incluso algoritmos de renderizado completos en Python.
que el sistema compila JIT (y opcionalmente diferencia) sobre la marcha.
Esto permite la experimentación necesaria para la investigación en gráficos por ordenador y
otras disciplinas.
Diferenciación : Mitsuba 3 es un renderizador diferenciable, lo que significa que
Puede calcular derivadas de toda la simulación con respecto a la entrada.
parámetros como la pose de la cámara, la geometría, los BSDF, las texturas y los volúmenes. Él
implementa algoritmos de representación diferenciables recientes desarrollados en EPFL.
Espectral y polarización : Mitsuba 3 se puede utilizar como monocromático
renderizador, renderizador basado en RGB o renderizador espectral. Cada variante puede
Opcionalmente, tenga en cuenta los efectos de la polarización si se desea.
Vídeos tutoriales, documentación.
Hemos grabado varios vídeos de YouTube que proporcionan una suave introducción.
Mitsuba 3 y Dr.Jit. Más allá de esto puedes encontrar cuadernos Juypter completos.
que cubre una variedad de aplicaciones, guías prácticas y documentación de referencia
en readthedocs.
Instalación
Proporcionamos ruedas binarias precompiladas a través de PyPI. Instalar Mitsuba de esta manera es tan sencillo como ejecutar
instalar pip mitsuba
en la línea de comando. El paquete Python incluye trece variantes por defecto:
scalar_rgb
scalar_spectral
scalarspectralpolarized
llvmadrgb
llvmadmono
llvmadmono_polarized
llvmadspectral
llvmadspectral_polarized
cudaadrgb
cudaadmono
cudaadmono_polarized
cudaadspectral
cudaadspectral_polarized
Los dos primeros realizan la simulación clásica de un rayo a la vez usando un RGB
o representación de color espectral, mientras que los dos últimos se pueden utilizar para representación inversa.
renderizado en la CPU o GPU. Para acceder a variantes adicionales, deberá
compilar una versión personalizada de Dr.Jit usando CMake. Por favor vea el
documentación
para obtener detalles sobre esto.
Requisitos
Python >= 3.8
(opcional) Para cálculo en la GPU: Nvidia driver >= 495.89
(opcional) Para cálculo vectorizado/paralelo en la CPU: LLVM >= 11.1
Uso
A continuación se muestra un ejemplo sencillo de "Hola mundo" que muestra lo sencillo que es representar un
escena usando Mitsuba 3 de Python:
# Importar la biblioteca usando el alias "mi" importar mitsuba como mi # Establecer la variante de renderermi.setvariant('scalarrgb')# Cargar una escena = mi.loaddict(mi.cornellbox())# Renderizar la escenaimg = mi. render(scene)# Escribe la imagen renderizada en un archivo EXRmi.Bitmap(img).write('cbox.exr')
Se pueden encontrar tutoriales y cuadernos de ejemplo que cubren una variedad de aplicaciones.
en la documentación.
Acerca de
Este proyecto fue creado por Wenzel Jakob.
Funciones y/o mejoras significativas al código fueron aportadas por
Sébastien Speierer,
Nicolás Roussel,
Merlín Nimier-David,
Delio Vicini,
Tizian Zeltner,
Bautista Nicolet,
Miguel Crespo,
Vicente Leroy y
Ziyi Zhang.
Cuando utilice Mitsuba 3 en proyectos académicos, cite:
@software{Mitsuba3,title = {Mitsuba 3 renderer},autor = {Wenzel Jakob y Sébastien Speierer y Nicolas Roussel y Merlin Nimier-David y Delio Vicini y Tizian Zeltner y Baptiste Nicolet y Miguel Crespo y Vincent Leroy y Ziyi Zhang},nota = {https://mitsuba-renderer.org},versión = {3.1.1},año = 2022}