Este documento fornece informações sobre dois projetos distintos: Hazelcast, uma plataforma de dados em tempo real, e Mitsuba 3, um sistema de renderização orientado para pesquisa. Hazelcast detalha seus recursos, casos de uso e diretrizes de contribuição, enquanto Mitsuba 3 se concentra em seus recursos, instalação e exemplos de uso. Ambos oferecem documentação abrangente e recursos de suporte para usuários.
Hazelcast
O que é Hazelcast
As empresas líderes mundiais confiam na Hazelcast para modernizar aplicações e tomar medidas instantâneas sobre os dados em movimento para criar novos fluxos de receita, mitigar riscos e operar com mais eficiência. As empresas usam a plataforma unificada de dados em tempo real da Hazelcast para processar dados de streaming, enriquecê-los com contexto histórico e tomar medidas instantâneas com automação padrão ou orientada por ML/IA - antes de serem armazenados em um banco de dados ou data lake.
Hazelcast é nomeado no Guia de Mercado Gartner para Processamento de Fluxo de Eventos e líder no Relatório de Radar GigaOm para Plataformas de Dados de Streaming. Para se juntar à nossa comunidade de CXOs, arquitetos e desenvolvedores de marcas como Lowe's, HSBC, JPMorgan Chase, Volvo, New York Life e outras, visite hazelcast.com.
Quando usar Hazelcast
Hazelcast fornece uma plataforma que pode lidar com vários tipos de cargas de trabalho para
construção de aplicativos em tempo real.
Principais recursos
Processamento de dados com estado
Hazelcast possui um mecanismo de processamento de dados integrado chamado
Jet, que pode ser usado para criar streaming/tempo real
e pipelines de dados em lote/estáticos que são elásticos. Foi comprovado que um único nó do Hazelcast agrega 10 milhões
eventos por segundo com
latência inferior a 10 milissegundos. Um cluster de nós Hazelcast pode processar bilhões
eventos por
segundo.
Comece
Siga os primeiros passos
Guia
para instalar e começar a usar o Hazelcast.
Documentação
Leia a documentação para
detalhes detalhados sobre como instalar o Hazelcast e uma visão geral dos recursos.
Obtenha ajuda
Você pode usar o Slack para obter ajuda com o Hazelcast.
Como contribuir
Obrigado pelo seu interesse em contribuir! A maneira mais fácil é simplesmente enviar um pull
solicitar.
Construindo a partir da fonte
Construir o Hazelcast requer no mínimo JDK 17. Extraia a fonte mais recente do
repositório e use a instalação (ou pacote) do Maven para construir:
Recomenda-se usar o script wrapper Maven incluído.
Também é possível usar a distribuição Maven local com o mesmo
versão que é usada no script wrapper do Maven.
Além disso, há uma compilação rápida ativada configurando o sistema -Dquick
propriedade que ignora tarefas de validação para compilações locais mais rápidas (por exemplo, testes, checkstyle
validação, javadoc, plugins de origem etc) e não cria extensões e distribuição
módulos.
Teste
Leve em consideração que a compilação padrão executa milhares de testes que podem
levar um tempo considerável. Hazelcast tem 3 perfis de teste:
para executar testes rápidos/de integração (que podem ser executados
em paralelo sem usar rede usando o perfil -P paraleloTest).
para executar testes que são lentos
ou não pode ser executado em paralelo.
para executar todos os testes em série usando
rede.
Alguns testes exigem que o Docker seja executado. Defina a propriedade do sistema -Dhazelcast.disable.docker.tests para ignorá-los.
Ao desenvolver um PR é suficiente executar seus novos testes e alguns
subconjunto relacionado de testes localmente. Nosso construtor de relações públicas cuidará da execução
o conjunto de testes completo.
Licença
O código-fonte neste repositório é coberto por uma das duas licenças:
A licença padrão em todo o repositório é a Licença Apache 2.0, a menos que o
cabeçalho especifica outra licença.
Agradecimentos
Devemos (as partes boas) da experiência do usuário de nossa ferramenta CLI a
picocli.
Direitos autorais
Copyright (c) 2008-2024, Hazelcast, Inc. Todos os direitos reservados.
Visite www.hazelcast.com para mais informações.
exemplo:
Renderizador Mitsuba 3
Documentação | Vídeos tutoriais | Linux | Mac OS | Windows | PyPI |
---|---|---|---|---|---|
️
Aviso
️
Actualmente existe uma grande quantidade de trabalho indocumentado e instável em curso no
o ramo master
. É altamente recomendável que você use nosso
último lançamento
até novo aviso.
Se você já deseja experimentar as próximas mudanças, dê uma olhada em
este guia de portabilidade.
Deve cobrir a maioria dos novos recursos e mudanças importantes que estão por vir.
Introdução
Mitsuba 3 é um sistema de renderização orientado para pesquisa para luz direta e inversa
simulação de transporte desenvolvida na EPFL na Suíça.
Consiste em uma biblioteca principal e um conjunto de plug-ins que implementam funcionalidades
variando de materiais e fontes de luz a algoritmos de renderização completos.
Mitsuba 3 é redirecionável : isso significa que as implementações subjacentes e
estruturas de dados podem ser transformadas para realizar várias tarefas diferentes. Para
Por exemplo, o mesmo código pode simular transporte RGB escalar (clássico de um raio por vez)
ou transporte espectral diferencial na GPU. Tudo isso se baseia
Dr.Jit, um compilador just-in-time (JIT) especializado desenvolvido especificamente para este projeto.
Principais recursos
Plataforma cruzada : Mitsuba 3 foi testado em Linux ( x86_64
), macOS
( aarch64
, x8664
) e Windows ( x8664
).
Alto desempenho : o compilador Dr.Jit subjacente funde o código de renderização
em kernels que alcançam desempenho de última geração usando
um back-end LLVM direcionado à CPU e um back-end CUDA/OptiX
visando GPUs NVIDIA com aceleração de hardware de rastreamento de raio.
Python primeiro : Mitsuba 3 está profundamente integrado ao Python. Materiais,
texturas e até mesmo algoritmos de renderização completos podem ser desenvolvidos em Python,
que o sistema compila JIT (e opcionalmente diferencia) em tempo real.
Isso permite a experimentação necessária para pesquisas em computação gráfica e
outras disciplinas.
Diferenciação : Mitsuba 3 é um renderizador diferenciável, o que significa que
pode calcular derivadas de toda a simulação em relação à entrada
parâmetros como pose de câmera, geometria, BSDFs, texturas e volumes. Isto
implementa algoritmos de renderização diferenciáveis recentes desenvolvidos na EPFL.
Espectral e Polarização : Mitsuba 3 pode ser usado como monocromático
renderizador, renderizador baseado em RGB ou renderizador espectral. Cada variante pode
opcionalmente, considere os efeitos da polarização, se desejado.
Vídeos tutoriais, documentação
Gravamos vários vídeos no YouTube que fornecem uma introdução gentil
Mitsuba 3 e Dr.Jit. Além disso você pode encontrar notebooks Juypter completos
cobrindo uma variedade de aplicações, guias de instruções e documentação de referência
em readthedocs.
Instalação
Fornecemos rodas binárias pré-compiladas via PyPI. Instalar o Mitsuba desta forma é tão simples quanto executar
pip instalar mitsuba
na linha de comando. O pacote Python inclui treze variantes por padrão:
scalar_rgb
scalar_spectral
scalarspectralpolarized
llvmadrgb
llvmadmono
llvmadmono_polarized
llvmadspectral
llvmadspectral_polarized
cudaadrgb
cudaadmono
cudaadmono_polarized
cudaadspectral
cudaadspectral_polarized
Os dois primeiros realizam simulação clássica de um raio por vez usando um RGB
ou representação espectral de cores, enquanto os dois últimos podem ser usados para representação inversa
renderização na CPU ou GPU. Para acessar variantes adicionais, você precisará
compilar uma versão personalizada do Dr.Jit usando CMake. Por favor veja o
documentação
para obter detalhes sobre isso.
Requisitos
Python >= 3.8
(opcional) Para computação na GPU: Nvidia driver >= 495.89
(opcional) Para computação vetorizada/paralela na CPU: LLVM >= 11.1
Uso
Aqui está um exemplo simples de "Hello World" que mostra como é simples renderizar um
cena usando Mitsuba 3 do Python:
# Importe a biblioteca usando o alias "mi"import mitsuba as mi# Defina a variante do renderermi.setvariant('scalarrgb')# Carregue uma scenecene = mi.loaddict(mi.cornellbox())# Renderize a cenaimg = mi. render(scene)# Grave a imagem renderizada em um arquivo EXRmi.Bitmap(img).write('cbox.exr')
Tutoriais e cadernos de exemplo cobrindo uma variedade de aplicações podem ser encontrados
na documentação.
Sobre
Este projeto foi criado por Wenzel Jakob.
Recursos e/ou melhorias significativas no código foram contribuídos por
Sébastien Speierer,
Nicolas Roussel,
Merlin Nimier-David,
Délio Vicini,
Tizian Zeltner,
Baptiste Nicolet,
Miguel Crespo,
Vicente Leroy e
Zi Yi Zhang.
Ao usar o Mitsuba 3 em projetos acadêmicos, cite:
@software{Mitsuba3,title = {mitsuba 3 renderer},author = {Wenzel Jakob e Sébastien Speierer e Nicolas Roussel e Merlin Nimier-David e Delio Vicini e Tizian Zeltner e Baptiste Nicolet e Miguel Crespo e Vincent Leroy e Ziyi Zhang},nota = {https://mitsuba-renderer.org},versão = {3.1.1},ano = 2022}