Solid voxelization algorithm for acoustic modeling

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

School of Science | Master's thesis
Checking the digitized thesis and permission for publishing
Instructions for the author

Date

Mcode

T-111

Degree programme

Language

en

Pages

v + 100

Series

Abstract

A voxelizer is a program that produces an even discretization of space, where each point is determined to be either inside or outside a three-dimensional model. Voxelizing is the three-dimensional analogue to rasterization, where cubic voxels are used to approximate instead of square pixels. The purpose of the thesis is to find a replacement algorithm for use in acoustics modelling. Various facets of voxelization are explored, as is the prospect of programming on graphics cards. Many voxelization algorithms are analysed, and the process of choosing one to implement is detailed. The implementation of the algorithm, as well as any modifications made to it is also detailed. The algorithm uses CUDA to achieve a high degree of parallelism. The algorithm outperformed the original CPU-based version considerably. There are currently restrictions in place for the resolution, due to enormous memory requirements, but these restrictions should be lift able with more work put into the program.

Vokselisoija on ohjelma, joka tuottaa tasaisen tilavuuden diskretisoinnin, jossa jokainen piste luokitellaan kuuluvaksi joko kolmiulotteisen mallin sisä- tai ulkopuolelle. Vokselisointi on kolmiulotteinen analogi rasterisoinnille, eli suorakulmaisen särmiönmuotoisia vokseleita käytetään approksimoimaan kolmiulotteisen mallin tilavuutta samaan tapaan kuin pikseleitä käytetään rasterisoinnissa. Tämän diplomityön tarkoituksena on toteuttaa vokselisointialgoritmi akustiseen mallintamiseen. Työssä käydään läpi vokselisoimisen eri muotoja sekä näytönohjaimella ohjelmointia. Monta vokselisointialgoritmia analysoidaan ja toteutuskandidaatin valintaprosessi selostetaan. Algoritmin implementaatio ja siihen tehdyt muutokset ovat dokumentoitu. Algoritmi käyttää Nvidian CUDA:a saavuttaakseen korkean parallellismin asteen. Vokselisoijan suorituskyky on huomattavasti alkuperäisen prosessoripohjaisen ohjelman suorituskykyä parempi. Vokselisoija asettaa rajoituksen vokselisoinnin resoluutiolle korkean muistinkäytön ansiosta, mutta tämä rajoitus voidaan väistää lisäkehityksellä.

Description

Supervisor

Savioja, Lauri

Thesis advisor

Southern, Alex

Other note

Citation