SlideShare une entreprise Scribd logo
1  sur  25
VOLUME RENDERING OF
UNSTRUCTURED TETRAHEDRAL GRIDS
Flow
• Introduction
• Problem Formulation
• Tetrahedral Interpolation
• Implementation
• Results
• Demo
• Endnotes
04-06-2014
Nitesh Bhatia | CPDM
2
Introduction: Volume Rendering
• Volume rendering is a technique that can
be used to visualize sampled 3D scalar
data as a continuous medium or extract
features.
Most algorithms for direct volume rendering
have assumed structured data in form of
rectilinear grid.
• In this project we worked on a method for
rendering unstructured volume; volume
represented by group of tetrahedrals.
04-06-2014
Nitesh Bhatia | CPDM
3
Problem Formulation
• The idea is to convert unstructured input tetrahedral grid
(UG) to output structured regular grid (SG) and render it
using existing ray casting system.
• The data represented in UG must be interpolated to
produce SG.
• The UG consists of tetrahedrals bounded by four vertices
numbered 1,2,3,4, the coordinates of ith vertex being (xi,
yi, zi) and associated data value is denoted fi.
• The data values are assumed to be the values of an
unknown locally smooth trivariate function
interpolate discussed in next heading.
04-06-2014
Nitesh Bhatia | CPDM
4
1/3
Problem Formulation
• Let P = (x,y,z) be the point at which the value of interpolation function is
to be estimated.
Two different interpolation schemes are followed here:
• Scheme 1: Map SG to UG
• For a given point P of SG and find the tetrahedral associated with P
in UG
• Estimate the function values for given cell based on interpolate.
04-06-2014
Nitesh Bhatia | CPDM
5
empty SG UG SG
2/3
Problem Formulation
• Scheme 2: Map UG to SG
• Take a tetrahedral from UG and find points Ps lying on SG
• Estimate the function value at Ps based on interpolate.
04-06-2014
Nitesh Bhatia | CPDM
6
UG empty SG SG
3/3
Tetrahedral Interpolation: interpolate
• Given a tetrahedron T with vertices v1, v2, v3, v4 and
function value associated with these vertices be f1, f2, f3
and f4, the problem is to find interpolated function value f
for any given point P.
04-06-2014
Nitesh Bhatia | CPDM
7
.P(f)
v1(f1)
v2(f2)v4(f4)
v3(f3)
1/4
Tetrahedral Interpolation: interpolate
Geometric Solution
• Take ratio of perpendicular distance of P
to a face with perpendicular distance of
opposite vertex to that face.
• Find these ratios with all four faces and
name them l1, l2, l3 and l4.
• If the point P is lying inside tetrahedral
these ratios will come between 0 and 1.
• Sum of these ratios will always be 1.
• These l1,l2, l3 and l4 are known as
barycentric coordinates of point P with
respect to tetrahedral T.
• f = l1*f1 + l2*f2 + l3*f3 + l4*f4
04-06-2014 8
2/4
Nitesh Bhatia | CPDM
Tetrahedral Interpolation: interpolate
• Mathemetical Interpretation
04-06-2014
Nitesh Bhatia | CPDM
9
3/4
Tetrahedral Interpolation: interpolate
04-06-2014
Nitesh Bhatia | CPDM
10
4/4
Implementation
In implementation we are following 3 step approach
1. Load the vertices and tetrahedron information from
given .ts file into CPU memory
2. Based on two schemes presented, perform
computations using OpenCL (or OpenMP) to form a
regular grid
3. Display the grid by Ray Casting in OpenCL using CL-GL
Interoperability.
04-06-2014
Nitesh Bhatia | CPDM
11
Implementation: Description
Step1:
• The data set given .ts file is form of list of vertices with 3D
coordinates and associated function value and then a list of
tetrahedrons with asociated 4 vertices.
• We are first loading this information into memory.
• While loading the vertices we are computing minimum and
maximum values for (x,y,z) coordinates and storing it as minX,
minY, minZ, maxX, maxY, maxZ.
• We are then finding the difference between these minimum and
maximum values and storing it as diffX, diffY, diffZ.
• We are then computing diff equal to maximum of diffX, diffY
and diffZ.
• We are then finding dimensions of our bounding box with side
equal to diff.
04-06-2014
Nitesh Bhatia | CPDM
12
Step 2:
• Given
• We are computing A-1 for each tetrahedron
• We define a constant STEP_SIZE = 128 (or any other
value) which gives dimension of our volume as
128*128*128.
• We are setting the resolution (step size) of our volume as
res = diff / STEP_SIZE
04-06-2014
Nitesh Bhatia | CPDM
13
Scheme 1:
04-06-2014
Nitesh Bhatia | CPDM
14
1. Finding point lying
on SG
2. searching for
associated T in UG
and finding f value
using interpolation
• This scheme is implemented in both OpenCL and
OpenMP
• In OpenMP implementation we are adding following two
lines as compiler directive in starting of loop:
• #paragma omp set_num_threads(8)
• #paragma omp parallel for shared(i,j,k)
• In OpenCL implementation we are setting our dimensions
as 1D with
• size_t global_size = {STEP_SIZE * STEP_SIZE * STEP_SIZE}
• Here we are Parallelizing in terms of volume element
04-06-2014
Nitesh Bhatia | CPDM
15
Scheme2:
04-06-2014
Nitesh Bhatia | CPDM
16
1. Finding limits of
points lying inside
tetrahedral
2. For given limits finding f
values of points associated
with SG
• Scheme 2 is implemented in OpenCL. We are setting our
dimensions as 1D with
size_t global_size = tet_qty
• Here we are Parallelizing in terms of tetrahedral quantity
Step 3:
• We are then giving this 1D grid of function values to
existing ray tracer (provided by nVidia in their SDK) as
input.
04-06-2014
Nitesh Bhatia | CPDM
17
Results
• Hardware / Software for tests
04-06-2014
Nitesh Bhatia | CPDM
18
GPU
Model: nVidia Quadro FX 580
Cores: 32
Core Clock: 450 MHz
Memory: 512MB
Memory Bandwidth: 25.6 GiB/s
CPU
Model: Intel Core i7 860
Cores / Threads: 4/8
Clock Speed: 2.8GHz (3.0GHz when running on full load)
Memory: 8 GB
Memory Bandwidth: 21GB/s
OS / SDKs
Microsoft Windows 7 Professional 64Bit
Visual Studio 2010 32Bit
Microsoft OpenMP
nVidia CUDA SDK 3.2
nVidia OpenCL 1.1
Intel OpenCL 1.1 alpha
Input UG
Torus1.ts
Torusf1.ts
Torus8.ts
Engine.ts
04-06-2014
Nitesh Bhatia | CPDM
19
Scheme 1 Scheme 2
STEP_SIZE = 512
Time: 8.4 sec
STEP_SIZE = 512
Time: 2.5 sec
04-06-2014
Nitesh Bhatia | CPDM
20
Scheme 1 Scheme 2
STEP_SIZE = 512
Time: 2.5 sec
STEP_SIZE = 512
Time: 3.3 sec
04-06-2014
Nitesh Bhatia | CPDM
21
04-06-2014
Nitesh Bhatia | CPDM
22
• Demo Video URL:
https://www.youtube.com/watch?v=CaBuZ7
se7-o
04-06-2014
Nitesh Bhatia | CPDM
23
Impressions
• Learning OpenCL was a challenging task but we it was
interesting.
• Debugging OpenCL is difficult task as stream output
(“printf” function) cannot be called in openCL kernel. In
Intel’s compiler is based on OpenCL 1.1 in which “printf” is
supported.
• Double precision computations are not supported on my
card.
• Graphic Driver Crash Problem
04-06-2014
Nitesh Bhatia | CPDM
24
“We now know a thousand ways not to
build a light bulb”
04-06-2014
Nitesh Bhatia | CPDM
25
THANKS !

Contenu connexe

Tendances

5G NR DSS - Explained Well
5G NR DSS - Explained Well5G NR DSS - Explained Well
5G NR DSS - Explained Wellssk
 
3GPP SON Series: Minimization of Drive Testing (MDT)
3GPP SON Series: Minimization of Drive Testing (MDT)3GPP SON Series: Minimization of Drive Testing (MDT)
3GPP SON Series: Minimization of Drive Testing (MDT)3G4G
 
RF Analysis at Fiber-based Cell Sites with CPRI
RF Analysis at Fiber-based Cell Sites with CPRIRF Analysis at Fiber-based Cell Sites with CPRI
RF Analysis at Fiber-based Cell Sites with CPRIEduardo Inzunza
 
DPDK IPSec Security Gateway Application
DPDK IPSec Security Gateway ApplicationDPDK IPSec Security Gateway Application
DPDK IPSec Security Gateway ApplicationMichelle Holley
 
Optimization Module Overview
Optimization Module OverviewOptimization Module Overview
Optimization Module OverviewiBwave Solutions
 
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...Vikas Shokeen
 
DIVINO VOCABULARIO CELESTE, TOMO 1
DIVINO VOCABULARIO CELESTE, TOMO 1DIVINO VOCABULARIO CELESTE, TOMO 1
DIVINO VOCABULARIO CELESTE, TOMO 1Peruda
 
Beginners: Introduction to NR-Light a.k.a. NR-Lite
Beginners: Introduction to NR-Light a.k.a. NR-LiteBeginners: Introduction to NR-Light a.k.a. NR-Lite
Beginners: Introduction to NR-Light a.k.a. NR-Lite3G4G
 
Lte protocol-stack-mac-rlc-pdcp
Lte protocol-stack-mac-rlc-pdcpLte protocol-stack-mac-rlc-pdcp
Lte protocol-stack-mac-rlc-pdcpPrashant Sengar
 
FTTx GPON System Troubleshooting.pptx
FTTx GPON System Troubleshooting.pptxFTTx GPON System Troubleshooting.pptx
FTTx GPON System Troubleshooting.pptxTedevTu
 
2.oeo000010 lte handover fault diagnosis issue 1
2.oeo000010 lte handover fault diagnosis issue 12.oeo000010 lte handover fault diagnosis issue 1
2.oeo000010 lte handover fault diagnosis issue 1Klajdi Husi
 
Ros자작로봇황성관21
Ros자작로봇황성관21Ros자작로봇황성관21
Ros자작로봇황성관21성관 황
 
Radio network planning for 4G LTE
Radio network planning for 4G LTERadio network planning for 4G LTE
Radio network planning for 4G LTERajesh Porwal
 
huawei-lte-handover-events.pdf
huawei-lte-handover-events.pdfhuawei-lte-handover-events.pdf
huawei-lte-handover-events.pdfariyantohari
 
6lowpan 110828234426-phpapp01
6lowpan 110828234426-phpapp016lowpan 110828234426-phpapp01
6lowpan 110828234426-phpapp01mrmr2010i
 
Huawei RET alarms Troubleshooting Guide Flow Chart
Huawei RET alarms Troubleshooting Guide   Flow Chart Huawei RET alarms Troubleshooting Guide   Flow Chart
Huawei RET alarms Troubleshooting Guide Flow Chart Mohamed Abd El Razek Bakry
 
Ue introduction
Ue introductionUe introduction
Ue introductionJamesFun
 

Tendances (20)

5G NR DSS - Explained Well
5G NR DSS - Explained Well5G NR DSS - Explained Well
5G NR DSS - Explained Well
 
3GPP SON Series: Minimization of Drive Testing (MDT)
3GPP SON Series: Minimization of Drive Testing (MDT)3GPP SON Series: Minimization of Drive Testing (MDT)
3GPP SON Series: Minimization of Drive Testing (MDT)
 
RF Analysis at Fiber-based Cell Sites with CPRI
RF Analysis at Fiber-based Cell Sites with CPRIRF Analysis at Fiber-based Cell Sites with CPRI
RF Analysis at Fiber-based Cell Sites with CPRI
 
DPDK IPSec Security Gateway Application
DPDK IPSec Security Gateway ApplicationDPDK IPSec Security Gateway Application
DPDK IPSec Security Gateway Application
 
Optimization Module Overview
Optimization Module OverviewOptimization Module Overview
Optimization Module Overview
 
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...
 
DIVINO VOCABULARIO CELESTE, TOMO 1
DIVINO VOCABULARIO CELESTE, TOMO 1DIVINO VOCABULARIO CELESTE, TOMO 1
DIVINO VOCABULARIO CELESTE, TOMO 1
 
Beginners: Introduction to NR-Light a.k.a. NR-Lite
Beginners: Introduction to NR-Light a.k.a. NR-LiteBeginners: Introduction to NR-Light a.k.a. NR-Lite
Beginners: Introduction to NR-Light a.k.a. NR-Lite
 
Lte protocol-stack-mac-rlc-pdcp
Lte protocol-stack-mac-rlc-pdcpLte protocol-stack-mac-rlc-pdcp
Lte protocol-stack-mac-rlc-pdcp
 
Lte channel
Lte channelLte channel
Lte channel
 
FTTx GPON System Troubleshooting.pptx
FTTx GPON System Troubleshooting.pptxFTTx GPON System Troubleshooting.pptx
FTTx GPON System Troubleshooting.pptx
 
2.oeo000010 lte handover fault diagnosis issue 1
2.oeo000010 lte handover fault diagnosis issue 12.oeo000010 lte handover fault diagnosis issue 1
2.oeo000010 lte handover fault diagnosis issue 1
 
Ros자작로봇황성관21
Ros자작로봇황성관21Ros자작로봇황성관21
Ros자작로봇황성관21
 
DMR : Digital Mobile Radio
DMR : Digital Mobile RadioDMR : Digital Mobile Radio
DMR : Digital Mobile Radio
 
Radio network planning for 4G LTE
Radio network planning for 4G LTERadio network planning for 4G LTE
Radio network planning for 4G LTE
 
huawei-lte-handover-events.pdf
huawei-lte-handover-events.pdfhuawei-lte-handover-events.pdf
huawei-lte-handover-events.pdf
 
6lowpan 110828234426-phpapp01
6lowpan 110828234426-phpapp016lowpan 110828234426-phpapp01
6lowpan 110828234426-phpapp01
 
Huawei RET alarms Troubleshooting Guide Flow Chart
Huawei RET alarms Troubleshooting Guide   Flow Chart Huawei RET alarms Troubleshooting Guide   Flow Chart
Huawei RET alarms Troubleshooting Guide Flow Chart
 
Frame structure 5G
Frame structure 5GFrame structure 5G
Frame structure 5G
 
Ue introduction
Ue introductionUe introduction
Ue introduction
 

Similaire à Volume Rendering of Unstructured Tetrahedral Grids using Intel / nVidia OpenCL

Writing distributed N-body code using distributed FFT - 1
Writing distributed N-body code using distributed FFT - 1Writing distributed N-body code using distributed FFT - 1
Writing distributed N-body code using distributed FFT - 1kr0y
 
Optimizing Set-Similarity Join and Search with Different Prefix Schemes
Optimizing Set-Similarity Join and Search with Different Prefix SchemesOptimizing Set-Similarity Join and Search with Different Prefix Schemes
Optimizing Set-Similarity Join and Search with Different Prefix SchemesHPCC Systems
 
Optimizing Data Partitioning at Broadcasting the Data
Optimizing Data Partitioning at Broadcasting the DataOptimizing Data Partitioning at Broadcasting the Data
Optimizing Data Partitioning at Broadcasting the DataTakashi Yamanoue
 
Parallel Hardware Implementation of Convolution using Vedic Mathematics
Parallel Hardware Implementation of Convolution using Vedic MathematicsParallel Hardware Implementation of Convolution using Vedic Mathematics
Parallel Hardware Implementation of Convolution using Vedic MathematicsIOSR Journals
 
대용량 데이터 분석을 위한 병렬 Clustering 알고리즘 최적화
대용량 데이터 분석을 위한 병렬 Clustering 알고리즘 최적화대용량 데이터 분석을 위한 병렬 Clustering 알고리즘 최적화
대용량 데이터 분석을 위한 병렬 Clustering 알고리즘 최적화NAVER Engineering
 
AI optimizing HPC simulations (presentation from 6th EULAG Workshop)
AI optimizing HPC simulations (presentation from  6th EULAG Workshop)AI optimizing HPC simulations (presentation from  6th EULAG Workshop)
AI optimizing HPC simulations (presentation from 6th EULAG Workshop)byteLAKE
 
Data streaming algorithms
Data streaming algorithmsData streaming algorithms
Data streaming algorithmsSandeep Joshi
 
Unsupervised Learning Clustering KMean and Hirarchical.pptx
Unsupervised Learning Clustering KMean and Hirarchical.pptxUnsupervised Learning Clustering KMean and Hirarchical.pptx
Unsupervised Learning Clustering KMean and Hirarchical.pptxFaridAliMousa1
 
Efficient Variable Size Template Matching Using Fast Normalized Cross Correla...
Efficient Variable Size Template Matching Using Fast Normalized Cross Correla...Efficient Variable Size Template Matching Using Fast Normalized Cross Correla...
Efficient Variable Size Template Matching Using Fast Normalized Cross Correla...Gurbinder Gill
 
Implementation Of Grigoryan FFT For Its Performance Case Study Over Cooley-Tu...
Implementation Of Grigoryan FFT For Its Performance Case Study Over Cooley-Tu...Implementation Of Grigoryan FFT For Its Performance Case Study Over Cooley-Tu...
Implementation Of Grigoryan FFT For Its Performance Case Study Over Cooley-Tu...ijma
 
Approximation Data Structures for Streaming Applications
Approximation Data Structures for Streaming ApplicationsApproximation Data Structures for Streaming Applications
Approximation Data Structures for Streaming ApplicationsDebasish Ghosh
 

Similaire à Volume Rendering of Unstructured Tetrahedral Grids using Intel / nVidia OpenCL (20)

TensorRT survey
TensorRT surveyTensorRT survey
TensorRT survey
 
Writing distributed N-body code using distributed FFT - 1
Writing distributed N-body code using distributed FFT - 1Writing distributed N-body code using distributed FFT - 1
Writing distributed N-body code using distributed FFT - 1
 
Optimizing Set-Similarity Join and Search with Different Prefix Schemes
Optimizing Set-Similarity Join and Search with Different Prefix SchemesOptimizing Set-Similarity Join and Search with Different Prefix Schemes
Optimizing Set-Similarity Join and Search with Different Prefix Schemes
 
Optimizing Data Partitioning at Broadcasting the Data
Optimizing Data Partitioning at Broadcasting the DataOptimizing Data Partitioning at Broadcasting the Data
Optimizing Data Partitioning at Broadcasting the Data
 
aspice
aspiceaspice
aspice
 
Id3313941396
Id3313941396Id3313941396
Id3313941396
 
Id3313941396
Id3313941396Id3313941396
Id3313941396
 
Parallel Hardware Implementation of Convolution using Vedic Mathematics
Parallel Hardware Implementation of Convolution using Vedic MathematicsParallel Hardware Implementation of Convolution using Vedic Mathematics
Parallel Hardware Implementation of Convolution using Vedic Mathematics
 
대용량 데이터 분석을 위한 병렬 Clustering 알고리즘 최적화
대용량 데이터 분석을 위한 병렬 Clustering 알고리즘 최적화대용량 데이터 분석을 위한 병렬 Clustering 알고리즘 최적화
대용량 데이터 분석을 위한 병렬 Clustering 알고리즘 최적화
 
AI optimizing HPC simulations (presentation from 6th EULAG Workshop)
AI optimizing HPC simulations (presentation from  6th EULAG Workshop)AI optimizing HPC simulations (presentation from  6th EULAG Workshop)
AI optimizing HPC simulations (presentation from 6th EULAG Workshop)
 
Ijetr042170
Ijetr042170Ijetr042170
Ijetr042170
 
Data streaming algorithms
Data streaming algorithmsData streaming algorithms
Data streaming algorithms
 
Unsupervised Learning Clustering KMean and Hirarchical.pptx
Unsupervised Learning Clustering KMean and Hirarchical.pptxUnsupervised Learning Clustering KMean and Hirarchical.pptx
Unsupervised Learning Clustering KMean and Hirarchical.pptx
 
Efficient Variable Size Template Matching Using Fast Normalized Cross Correla...
Efficient Variable Size Template Matching Using Fast Normalized Cross Correla...Efficient Variable Size Template Matching Using Fast Normalized Cross Correla...
Efficient Variable Size Template Matching Using Fast Normalized Cross Correla...
 
distance_matrix_ch
distance_matrix_chdistance_matrix_ch
distance_matrix_ch
 
Nbvtalkataitamimageprocessingconf
NbvtalkataitamimageprocessingconfNbvtalkataitamimageprocessingconf
Nbvtalkataitamimageprocessingconf
 
Implementation Of Grigoryan FFT For Its Performance Case Study Over Cooley-Tu...
Implementation Of Grigoryan FFT For Its Performance Case Study Over Cooley-Tu...Implementation Of Grigoryan FFT For Its Performance Case Study Over Cooley-Tu...
Implementation Of Grigoryan FFT For Its Performance Case Study Over Cooley-Tu...
 
Lecture set 5
Lecture set 5Lecture set 5
Lecture set 5
 
R04603104107
R04603104107R04603104107
R04603104107
 
Approximation Data Structures for Streaming Applications
Approximation Data Structures for Streaming ApplicationsApproximation Data Structures for Streaming Applications
Approximation Data Structures for Streaming Applications
 

Plus de Nitesh Bhatia

JTAG Interface (Intro)
JTAG Interface (Intro)JTAG Interface (Intro)
JTAG Interface (Intro)Nitesh Bhatia
 
Cost Estimation in Project Management - Case of Solar Assisted Water Pump
Cost Estimation in Project Management - Case of Solar Assisted Water PumpCost Estimation in Project Management - Case of Solar Assisted Water Pump
Cost Estimation in Project Management - Case of Solar Assisted Water PumpNitesh Bhatia
 
Solution Neutral Problem Statement (SNPS) Generation (Example - Cooking India...
Solution Neutral Problem Statement (SNPS) Generation (Example - Cooking India...Solution Neutral Problem Statement (SNPS) Generation (Example - Cooking India...
Solution Neutral Problem Statement (SNPS) Generation (Example - Cooking India...Nitesh Bhatia
 
Mapping - Reality and Virtual Reality (Strictly No AR!!)
Mapping - Reality and Virtual Reality (Strictly No AR!!)Mapping - Reality and Virtual Reality (Strictly No AR!!)
Mapping - Reality and Virtual Reality (Strictly No AR!!)Nitesh Bhatia
 
Natural User Interface Demo based on - 3D Brick Game using Kinect
Natural User Interface Demo based on - 3D Brick Game using KinectNatural User Interface Demo based on - 3D Brick Game using Kinect
Natural User Interface Demo based on - 3D Brick Game using KinectNitesh Bhatia
 
iKeymote - Internet Keyboard cum Remote (Idea Design)
iKeymote - Internet Keyboard cum Remote (Idea Design)iKeymote - Internet Keyboard cum Remote (Idea Design)
iKeymote - Internet Keyboard cum Remote (Idea Design)Nitesh Bhatia
 
Visual space perception
Visual space perceptionVisual space perception
Visual space perceptionNitesh Bhatia
 
PPT- Chaos Prediction using Visual Surveillance and Network Computing
PPT- Chaos Prediction using Visual Surveillance and Network ComputingPPT- Chaos Prediction using Visual Surveillance and Network Computing
PPT- Chaos Prediction using Visual Surveillance and Network ComputingNitesh Bhatia
 
Lecture 1 - Web Engineering - Apple iClub at DA-IICT
Lecture 1 - Web Engineering - Apple iClub at DA-IICTLecture 1 - Web Engineering - Apple iClub at DA-IICT
Lecture 1 - Web Engineering - Apple iClub at DA-IICTNitesh Bhatia
 
Introduction to Lectures in Apple iClub at DA-IICT
Introduction to Lectures in Apple iClub  at DA-IICTIntroduction to Lectures in Apple iClub  at DA-IICT
Introduction to Lectures in Apple iClub at DA-IICTNitesh Bhatia
 
Apple iClub at DA-IICT Opening PPT
Apple iClub at DA-IICT Opening PPTApple iClub at DA-IICT Opening PPT
Apple iClub at DA-IICT Opening PPTNitesh Bhatia
 
Design Flaws In Products
Design Flaws In ProductsDesign Flaws In Products
Design Flaws In ProductsNitesh Bhatia
 

Plus de Nitesh Bhatia (13)

JTAG Interface (Intro)
JTAG Interface (Intro)JTAG Interface (Intro)
JTAG Interface (Intro)
 
Cost Estimation in Project Management - Case of Solar Assisted Water Pump
Cost Estimation in Project Management - Case of Solar Assisted Water PumpCost Estimation in Project Management - Case of Solar Assisted Water Pump
Cost Estimation in Project Management - Case of Solar Assisted Water Pump
 
Solution Neutral Problem Statement (SNPS) Generation (Example - Cooking India...
Solution Neutral Problem Statement (SNPS) Generation (Example - Cooking India...Solution Neutral Problem Statement (SNPS) Generation (Example - Cooking India...
Solution Neutral Problem Statement (SNPS) Generation (Example - Cooking India...
 
Mapping - Reality and Virtual Reality (Strictly No AR!!)
Mapping - Reality and Virtual Reality (Strictly No AR!!)Mapping - Reality and Virtual Reality (Strictly No AR!!)
Mapping - Reality and Virtual Reality (Strictly No AR!!)
 
Natural User Interface Demo based on - 3D Brick Game using Kinect
Natural User Interface Demo based on - 3D Brick Game using KinectNatural User Interface Demo based on - 3D Brick Game using Kinect
Natural User Interface Demo based on - 3D Brick Game using Kinect
 
iKeymote - Internet Keyboard cum Remote (Idea Design)
iKeymote - Internet Keyboard cum Remote (Idea Design)iKeymote - Internet Keyboard cum Remote (Idea Design)
iKeymote - Internet Keyboard cum Remote (Idea Design)
 
Visual space perception
Visual space perceptionVisual space perception
Visual space perception
 
PPT- Chaos Prediction using Visual Surveillance and Network Computing
PPT- Chaos Prediction using Visual Surveillance and Network ComputingPPT- Chaos Prediction using Visual Surveillance and Network Computing
PPT- Chaos Prediction using Visual Surveillance and Network Computing
 
Give up - Orkut App
Give up - Orkut AppGive up - Orkut App
Give up - Orkut App
 
Lecture 1 - Web Engineering - Apple iClub at DA-IICT
Lecture 1 - Web Engineering - Apple iClub at DA-IICTLecture 1 - Web Engineering - Apple iClub at DA-IICT
Lecture 1 - Web Engineering - Apple iClub at DA-IICT
 
Introduction to Lectures in Apple iClub at DA-IICT
Introduction to Lectures in Apple iClub  at DA-IICTIntroduction to Lectures in Apple iClub  at DA-IICT
Introduction to Lectures in Apple iClub at DA-IICT
 
Apple iClub at DA-IICT Opening PPT
Apple iClub at DA-IICT Opening PPTApple iClub at DA-IICT Opening PPT
Apple iClub at DA-IICT Opening PPT
 
Design Flaws In Products
Design Flaws In ProductsDesign Flaws In Products
Design Flaws In Products
 

Dernier

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Dernier (20)

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Volume Rendering of Unstructured Tetrahedral Grids using Intel / nVidia OpenCL

  • 2. Flow • Introduction • Problem Formulation • Tetrahedral Interpolation • Implementation • Results • Demo • Endnotes 04-06-2014 Nitesh Bhatia | CPDM 2
  • 3. Introduction: Volume Rendering • Volume rendering is a technique that can be used to visualize sampled 3D scalar data as a continuous medium or extract features. Most algorithms for direct volume rendering have assumed structured data in form of rectilinear grid. • In this project we worked on a method for rendering unstructured volume; volume represented by group of tetrahedrals. 04-06-2014 Nitesh Bhatia | CPDM 3
  • 4. Problem Formulation • The idea is to convert unstructured input tetrahedral grid (UG) to output structured regular grid (SG) and render it using existing ray casting system. • The data represented in UG must be interpolated to produce SG. • The UG consists of tetrahedrals bounded by four vertices numbered 1,2,3,4, the coordinates of ith vertex being (xi, yi, zi) and associated data value is denoted fi. • The data values are assumed to be the values of an unknown locally smooth trivariate function interpolate discussed in next heading. 04-06-2014 Nitesh Bhatia | CPDM 4 1/3
  • 5. Problem Formulation • Let P = (x,y,z) be the point at which the value of interpolation function is to be estimated. Two different interpolation schemes are followed here: • Scheme 1: Map SG to UG • For a given point P of SG and find the tetrahedral associated with P in UG • Estimate the function values for given cell based on interpolate. 04-06-2014 Nitesh Bhatia | CPDM 5 empty SG UG SG 2/3
  • 6. Problem Formulation • Scheme 2: Map UG to SG • Take a tetrahedral from UG and find points Ps lying on SG • Estimate the function value at Ps based on interpolate. 04-06-2014 Nitesh Bhatia | CPDM 6 UG empty SG SG 3/3
  • 7. Tetrahedral Interpolation: interpolate • Given a tetrahedron T with vertices v1, v2, v3, v4 and function value associated with these vertices be f1, f2, f3 and f4, the problem is to find interpolated function value f for any given point P. 04-06-2014 Nitesh Bhatia | CPDM 7 .P(f) v1(f1) v2(f2)v4(f4) v3(f3) 1/4
  • 8. Tetrahedral Interpolation: interpolate Geometric Solution • Take ratio of perpendicular distance of P to a face with perpendicular distance of opposite vertex to that face. • Find these ratios with all four faces and name them l1, l2, l3 and l4. • If the point P is lying inside tetrahedral these ratios will come between 0 and 1. • Sum of these ratios will always be 1. • These l1,l2, l3 and l4 are known as barycentric coordinates of point P with respect to tetrahedral T. • f = l1*f1 + l2*f2 + l3*f3 + l4*f4 04-06-2014 8 2/4 Nitesh Bhatia | CPDM
  • 9. Tetrahedral Interpolation: interpolate • Mathemetical Interpretation 04-06-2014 Nitesh Bhatia | CPDM 9 3/4
  • 11. Implementation In implementation we are following 3 step approach 1. Load the vertices and tetrahedron information from given .ts file into CPU memory 2. Based on two schemes presented, perform computations using OpenCL (or OpenMP) to form a regular grid 3. Display the grid by Ray Casting in OpenCL using CL-GL Interoperability. 04-06-2014 Nitesh Bhatia | CPDM 11
  • 12. Implementation: Description Step1: • The data set given .ts file is form of list of vertices with 3D coordinates and associated function value and then a list of tetrahedrons with asociated 4 vertices. • We are first loading this information into memory. • While loading the vertices we are computing minimum and maximum values for (x,y,z) coordinates and storing it as minX, minY, minZ, maxX, maxY, maxZ. • We are then finding the difference between these minimum and maximum values and storing it as diffX, diffY, diffZ. • We are then computing diff equal to maximum of diffX, diffY and diffZ. • We are then finding dimensions of our bounding box with side equal to diff. 04-06-2014 Nitesh Bhatia | CPDM 12
  • 13. Step 2: • Given • We are computing A-1 for each tetrahedron • We define a constant STEP_SIZE = 128 (or any other value) which gives dimension of our volume as 128*128*128. • We are setting the resolution (step size) of our volume as res = diff / STEP_SIZE 04-06-2014 Nitesh Bhatia | CPDM 13
  • 14. Scheme 1: 04-06-2014 Nitesh Bhatia | CPDM 14 1. Finding point lying on SG 2. searching for associated T in UG and finding f value using interpolation
  • 15. • This scheme is implemented in both OpenCL and OpenMP • In OpenMP implementation we are adding following two lines as compiler directive in starting of loop: • #paragma omp set_num_threads(8) • #paragma omp parallel for shared(i,j,k) • In OpenCL implementation we are setting our dimensions as 1D with • size_t global_size = {STEP_SIZE * STEP_SIZE * STEP_SIZE} • Here we are Parallelizing in terms of volume element 04-06-2014 Nitesh Bhatia | CPDM 15
  • 16. Scheme2: 04-06-2014 Nitesh Bhatia | CPDM 16 1. Finding limits of points lying inside tetrahedral 2. For given limits finding f values of points associated with SG
  • 17. • Scheme 2 is implemented in OpenCL. We are setting our dimensions as 1D with size_t global_size = tet_qty • Here we are Parallelizing in terms of tetrahedral quantity Step 3: • We are then giving this 1D grid of function values to existing ray tracer (provided by nVidia in their SDK) as input. 04-06-2014 Nitesh Bhatia | CPDM 17
  • 18. Results • Hardware / Software for tests 04-06-2014 Nitesh Bhatia | CPDM 18 GPU Model: nVidia Quadro FX 580 Cores: 32 Core Clock: 450 MHz Memory: 512MB Memory Bandwidth: 25.6 GiB/s CPU Model: Intel Core i7 860 Cores / Threads: 4/8 Clock Speed: 2.8GHz (3.0GHz when running on full load) Memory: 8 GB Memory Bandwidth: 21GB/s OS / SDKs Microsoft Windows 7 Professional 64Bit Visual Studio 2010 32Bit Microsoft OpenMP nVidia CUDA SDK 3.2 nVidia OpenCL 1.1 Intel OpenCL 1.1 alpha Input UG Torus1.ts Torusf1.ts Torus8.ts Engine.ts
  • 19. 04-06-2014 Nitesh Bhatia | CPDM 19 Scheme 1 Scheme 2 STEP_SIZE = 512 Time: 8.4 sec STEP_SIZE = 512 Time: 2.5 sec
  • 20. 04-06-2014 Nitesh Bhatia | CPDM 20 Scheme 1 Scheme 2 STEP_SIZE = 512 Time: 2.5 sec STEP_SIZE = 512 Time: 3.3 sec
  • 23. • Demo Video URL: https://www.youtube.com/watch?v=CaBuZ7 se7-o 04-06-2014 Nitesh Bhatia | CPDM 23
  • 24. Impressions • Learning OpenCL was a challenging task but we it was interesting. • Debugging OpenCL is difficult task as stream output (“printf” function) cannot be called in openCL kernel. In Intel’s compiler is based on OpenCL 1.1 in which “printf” is supported. • Double precision computations are not supported on my card. • Graphic Driver Crash Problem 04-06-2014 Nitesh Bhatia | CPDM 24
  • 25. “We now know a thousand ways not to build a light bulb” 04-06-2014 Nitesh Bhatia | CPDM 25 THANKS !