Direct volume rendering has become a popular technique for visualizing volumetric
data from sources such as scientific simulations, analytic functions, and medical scanners,
among others. Volume rendering algorithms, such as raycasting, can produce
high-quality images, however, the use of raycasting has been limited due to its high demands
on computational power and memory bandwidth. In this paper, we propose a new
implementation of the raycasting algorithm that takes advantage of the highly parallel
architecture of the Cell Broadband Engine processor, with 9 heterogeneous cores, in
order to allow interactive raycasting of irregular datasets. All the computational power
of the Cell BE processor, though, comes at the cost of a different programming model.
Applications need to be rewritten in order to explore the full potential of the Cell processor,
which requires using multithreading and vectorized code. In our approach, we
tackle this problem by distributing ray computations using the visible faces, and vectorizing
the lighting integral operations inside each core. Our experimental results show
that we can obtain good speedups reducing the overall rendering time significantly. / A renderização de volume direta tornou-se uma técnica popular para visualização volumétrica
de dados extraídos de fontes como simulações científicas, funções analíticas,
scanners médicos, entre outras. Algoritmos de renderização de volume, como o raycasting,
produzem imagens de alta qualidade. O seu uso, contudo, é limitado devido
à alta demanda de processamento computacional e o alto uso de memória. Nesse trabalho,
propomos uma nova implementação do algoritmo de raycasting que aproveita
a arquitetura altamente paralela do processador Cell Broadband Engine, com seus 9
núcleos heterogêneos, que permitem renderização eficiente em malhas irregulares de
dados. O poder computacional do processador Cell BE demanda um modelo de programação
diferente. Aplicações precisam ser reescritas para explorar o potencial completo
do processador Cell, que requer o uso de multithreading e código vetorizado. Em nossa
abordagem, enfrentamos esse problema distribuindo a computação de cada raio incidente
nas faces visíveis do volume entre os núcleos do processador, e vetorizando as
operações da integral de iluminação em cada um. Os resultados experimentais mostram
que podemos obter bons speedups reduzindo o tempo total de renderização de forma
significativa.
Identifer | oai:union.ndltd.org:IBICT/urn:repox.ist.utl.pt:BDTD_UERJ:oai:www.bdtd.uerj.br:5594 |
Date | 02 October 2009 |
Creators | Guilherme Mota Cavalcanti de Albuquerque Cox |
Contributors | Cristiana Barbosa Bentes, Ricardo Cordeiro de Farias, Guilherme Lucio Abelha Mota, Esteban Walter Gonzalez Clua |
Publisher | Universidade do Estado do Rio de Janeiro, Programa de Pós-Graduação em Engenharia da Computação, UERJ, BR |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Format | application/pdf |
Source | reponame:Biblioteca Digital de Teses e Dissertações da UERJ, instname:Universidade do Estado do Rio de Janeiro, instacron:UERJ |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0103 seconds