+ All Categories
Home > Documents > Scientific Ray-Tracing with OptiX - GPU Technology...

Scientific Ray-Tracing with OptiX - GPU Technology...

Date post: 27-Jul-2018
Category:
Upload: lamtuong
View: 220 times
Download: 1 times
Share this document with a friend
34
Scientific Ray-Tracing with OptiX #23136 14.10.2017 Timo Stich, Niklas Mevenkamp (CRT-CA)
Transcript
Page 1: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

Scientific Ray-Tracing with OptiX#23136

14.10.2017

Timo Stich, Niklas Mevenkamp (CRT-CA)

Page 2: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

214.10.2017ZEISS, Timo Stich, CRT-CA

Agenda

1

2

3

4

5

Motivation

Simulation

Using OptiX

Results

Introduction

Page 3: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

314.10.2017ZEISS, Timo Stich, CRT-CA

Agenda

1

2

3

4

5

Motivation

Simulation

Using OptiX

Results

Introduction

Page 4: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

414.10.2017ZEISS, Timo Stich, CRT-CA

corporate algorithms.locationsJena, Oberkochen, Kaiserslautern & Munich

Jena13 co-workers

Oberkochen15 co-workers

Kaiserslautern3 co-workers

Munich2 co-workers (hiring)

JenaMED, MIC, SMS

OberkochenMED, MIC, IMT, SMT

MunichMED, MIC

BerlinMED

GöttingenMIC

WetzlarSMT

RossdorfSMT

Kaiserslautern

Page 5: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

514.10.2017ZEISS, Timo Stich, CRT-CA

corporate algorithms.the equation4 strategic directions = 4 platform topics / the bottom-up perspective

x…objectA…imaging operatory…sensor information

Best in classfull system simulation

Revolutionarydigital reconstruction

Pioneering role inlearning algorithms

Tailored ways to efficiently run algorithms

Page 6: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

614.10.2017ZEISS, Timo Stich, CRT-CA

Agenda

1

2

3

4

5

Motivation

Simulation

Using OptiX

Results

Introduction

Page 7: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

714.10.2017ZEISS, Timo Stich, CRT-CA

Scanning Electron MicroscopeZEISS MultiSEM

• Scanning Electron Microscope (SEM) yields high-resolution

images of solid materials (< 10 nm)

• Up to 91 electron beams working in parallel with unprecedented

imaging speed

• QUESTION:

Can we simulate the scattering of electrons close to real-

time to push the resolution even further?

• -> NVIDIA OptiX for Scientific Ray-Tracing!

Page 8: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

814.10.2017ZEISS, Timo Stich, CRT-CA

SEM image formation process

single electron beam x dwell time = one pixel intensity • relevant scattering effects:

• elastic scattering

• no energy loss

• change in direction

• inelastic scattering

• energy loss

• change in direction

• atom ionization

• SE generation (~0-50eV)

• Auger electrons (AE)

• characteristic X-rays

--

-

-- -

-

-

-

+

beam / primary electron (PE)

-

-

-

-- -

-

-

-

+

PE

SE

PE

PE

-

-

--

-

-

-

Page 9: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

914.10.2017ZEISS, Timo Stich, CRT-CA

SEM image formation process

image acquisition:

• beam is scanned across the sample

• measurement repeated at each position

Page 10: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

1014.10.2017ZEISS, Timo Stich, CRT-CA

Physical model

• Assumption: only binary electron – atom collisions are relevant

• Model: conservation of particles Boltzmann equation

= position

= energy

= direction

= density of electrons (per phase space el.)

= number of atoms per unit volume

= unit sphere

= inelastic DCS

= elastic DCS

= elastic / inelastic TCSDCS = Differential scattering Cross Section

TCS = Total scattering Cross Section

Page 11: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

1114.10.2017ZEISS, Timo Stich, CRT-CA

Forward simulation= solving the Boltzmann equation

Three major approaches:

• Lattice Boltzmann method

• discretization of space ( discretization of velocities)

• collision and transfer of electron density at macroscopic scale (histograms)

• boundary conditions non-trivial

• Monte Carlo method

• random sampling of electron trajectories

• investigation of phase space at microscopic scale

• dominant method in materials science and metrology

• Method of moments + Finite Differences

• much faster than the above two methods

• still object of basic research

Source: Duclous et al. ‘09

Page 12: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

1214.10.2017ZEISS, Timo Stich, CRT-CA

Agenda

1

2

3

4

5

Motivation

Simulation

Using OptiX

Results

Introduction

Page 13: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

1314.10.2017ZEISS, Timo Stich, CRT-CA

SoftwareExisting 3D Monte Carlo simulations for electrons

• DTSA-II: • PE / SE: CSDA / not available

• geometry: intersections of half-spaces in 3D

• API: Java / Jython scripting• list of classes and functions: http://www.cstl.nist.gov/div837/837.02/epq/dtsa2/JavaDoc/index.html

• license: public domain (binaries online, source code received from external contact)

• language: Java

• www: http://www.cstl.nist.gov/div837/837.02/epq/dtsa2/

• CASINO:• PE / SE: detailed / detailed

• API: very limited scripting support, mostly GUI based

• license: unknown

• language: unknown

• www: http://www.gel.usherbrooke.ca/casino/index.html

• PENELOPE:• PE / SE: detailed / not available

• aimed at high energy particles (𝜖 > 1MeV)

• good theoretical documentation: https://oecd-nea.org/science/docs/2011/nsc-doc2011-5.pdf

• www: https://www.oecd-nea.org/tools/abstract/detail/nea-1525

• JMonsel:• aimed specifically at SE simulation

• available as an extension for DTSA-II (source received from external contact)

• no MWE available

Page 14: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

1414.10.2017ZEISS, Timo Stich, CRT-CA

Monte Carlo simulation of electronsContinuous slowing-down approximation (CSDA)

• Assumptions:

• changes in flight direction are mainly caused by elastic interactions

• energy loss can be approximated as a continuous process

• Sampling trajectories:

• move electrons in a straight line between elastic collisions

• change direction according to elastic DCS

• energy loss between elastic collisions based on energy loss rate

• Secondary electron yield:

• modeled as a continuous process

• energy is transferred from PE to SEs

• SE yield reduced by absorption of SE within material (depth vs. free path)

Page 15: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

1514.10.2017ZEISS, Timo Stich, CRT-CA

Secondary electron yield

Option 1: simulate SE in the same fashion as PE

• cannot be done in CSDA, i.e. all inelastic collisions have to be simulated in detail

• inelastic interactions of SE are more complicated than those of PE

• plasmon excitation

• atom bonding

• charging

• significantly increases computational cost

Option 2: approximate SE yield with analytical function

• ODE: ISE 0 = 0,𝑑𝐼𝑆𝐸

𝑑𝑠=

|𝑆 𝜖 𝑠 |

𝜖𝑠∗ exp −

𝑑𝑒𝑝𝑡ℎ 𝑠

𝜆𝑠

• forward Euler discretization: 𝐼𝑆𝐸 𝑠 ≈𝑠∗ S 𝜖0

𝜖𝑠∗ exp(−

𝑑𝑒𝑝𝑡ℎ 0

𝜆𝑠)

• fast and accurate for simple geometries (e.g. edge geometry with homogenous material)

• likely accurate enough for edge geometries with a few layers

• questionable whether accurate enough for complex geometries

𝜖𝑠 = effective SE generation energy

𝜆𝑠 = effective escape depth

Page 16: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

1614.10.2017ZEISS, Timo Stich, CRT-CA

Monte Carlo simulation of electronsCSDA algorithm

Path tracing

or moving electrons from (xn, 𝜖n+0.5, Ωn+0.5) to (xn+1, 𝜖n+1.5, Ωn+1.5) in phase space

1.sample free path (disregarding surrounding geometry): sbulk = -λel(xn, 𝜖n+0.5) * ln(ξ)

2.compute closest hit p with surrounding geometry (assuming infinite travel)

1. if |p - xn| < sbulk, set s = |p – xn|

2. else set s = sbulk

3.update position: xn+1 = xn + s * Ωn+0.5

4.compute energy loss: W = |s * 𝑆(xn, 𝜖n+0.5)|

5.update energy: 𝜖n+1.5 = 𝜖n+0.5 – W

6.accumulate SE yield: ISE = ISE + 𝑊

𝜖𝑠∗ exp −

𝑑𝑒𝑝𝑡ℎ 𝑥𝑛

𝜆𝑠

7. if s = sbulk (i.e. no material interface was crossed)

1. sample azimuthal scattering angle: 𝜙 = 2 𝜋𝜉

2. sample polar scattering angle: 𝜃 = 𝑓(xn+1, 𝜖n+1.5, 𝜉)

3. update direction: Ωn+1.5 = rotation(𝜙, 𝜃) * Ωn+0.5

use tabulated 𝑓 or perform inverse

transform sampling on DCS

use RNG to produce 𝜉 ∈ 𝑈(0,1)Nvidia OptiX

Initialization: 𝑥0 = 𝑑𝑏 −2 log 𝜉 ∗ (cos𝜙, sin𝜙, 1)𝑇 , 𝜙 = 2𝜋𝜉, 𝜖0.5 = 𝐸𝑏, Ω0.5 = 0,0,−1 𝑇

Page 17: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

1714.10.2017ZEISS, Timo Stich, CRT-CA

Agenda

1

2

3

4

5

Motivation

Simulation

Using OptiX

Results

Introduction

Page 18: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

1814.10.2017ZEISS, Timo Stich, CRT-CA

Engine structureObjects & functions

to be implemented by developerfree lunch

parallelization of

multiple initial rays

implement desired result of hit event

hit event emission is free lunch

GPU

CPU

350 million rays / second

Page 19: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

1914.10.2017ZEISS, Timo Stich, CRT-CA

Engine structureExecution pipeline

Page 20: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

2014.10.2017ZEISS, Timo Stich, CRT-CA

Engine structureExecution pipeline

Evaluation of intersections

reflection

transmission

absorption

ray splitting

material properties

Page 21: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

2114.10.2017ZEISS, Timo Stich, CRT-CA

OptiX - Ray Program

Closest-Hit Program

- Stores the Material Idx

- Trace in new direction

Page 22: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

2214.10.2017ZEISS, Timo Stich, CRT-CA

OptiX - Ray Program

Volume Scattering

- Trace without hit

- Update Energies

- Update Direction

Page 23: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

2314.10.2017ZEISS, Timo Stich, CRT-CA

OptiX - Ray Program

Handling of Co-Planar Surfaces

- OptiX cannot distinguish between

co-planar materials

- Solution: Trace a second ray type

which ignores leaving rays in hit

program (Normal * Ray > 0 )

Page 24: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

2414.10.2017ZEISS, Timo Stich, CRT-CA

Agenda

1

2

3

4

5

Motivation

Simulation

Using OptiX

Results

Introduction

Page 25: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

2514.10.2017ZEISS, Timo Stich, CRT-CA

Benchmark: SEMC & SEMtiX vs. DTSA-IIElectron trajectories

Sili

con

Alu

min

um

oxid

e

SEMC DTSA-II 𝜆SEMtiX

0.23nm

@ 50eV

to

1.45nm

@ 1keV

0.16nm

@ 50eV

to

1.03nm

@ 1keV

Page 26: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

2614.10.2017ZEISS, Timo Stich, CRT-CA

Benchmark: SEMC & SEMtiX vs. DTSA-IIBSE line profiles of different materials

Page 27: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

2714.10.2017ZEISS, Timo Stich, CRT-CA

Benchmark: SEMC & SEMtiX vs. DTSA-IIBSE with varying beam energy

Page 28: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

2814.10.2017ZEISS, Timo Stich, CRT-CA

Benchmark: SEMC & SEMtiX vs. DTSA-IIBSE with varying line width

Page 29: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

2914.10.2017ZEISS, Timo Stich, CRT-CA

Benchmark: SE yield vs. published figures

source: Dapor ’11, http://www.aesj.net/pnst002/762-768.pdf

SE

MC

& S

EM

tiX

Dapor

20

11

Page 30: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

3014.10.2017ZEISS, Timo Stich, CRT-CA

ResultsSEM scans of 10nm and 50nm line profiles

Sili

con

Alu

min

um

oxid

e

width = 10 nm width = 50 nm

Page 31: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

3114.10.2017ZEISS, Timo Stich, CRT-CA

ResultsSEM scans of a 25nm line profile withvarying beam diameters (1-50nm)

1 nm 5 nm 50 nm10 nm

General comment on running times:

• SEMC (Matlab): 40-70 seconds / 10.000 electrons, 1.1-1.7 hours / line scan (101 points)

• DTSA-II (Java): 8 seconds / 10.000 electrons, 0.24 hours / line scan (101 points)

• SEMtiX (CUDA / OptiX): 1 second / 1.700.000 electrons 1 minute / image (101 x 101 points)

Page 32: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

3214.10.2017ZEISS, Timo Stich, CRT-CA

ResultsSEM images simulated using SEMtiX

10.000 electrons / px

101 x 101 px / image

60s / image⇒ 1.7 million electrons / s

PMMA

single line

(x, y, z, dx)=(25nm, 1um, 50nm,10nm)

1 keV x 1nm

101 x 101 px (1px = 1nm x 1nm)

1000 electrons

11 seconds

Silicon dioxide (SiO2)

two lines

(x,y,z)=(50nm, 1um, 50nm)

1 keV x 5nm

101 x 101 px (1px = 1nm x 1nm)

10000 electrons

55 seconds

PMMA line on

Aluminum oxide

(x, y, z)=(50nm, 1um/75nm, 25nm)

1 keV x 1nm

101 x 101 px (1px = 1nm x 1nm)

1000 electrons

10 seconds

y=1um

y=75nm

Page 33: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

3314.10.2017ZEISS, Timo Stich, CRT-CA

Page 34: Scientific Ray-Tracing with OptiX - GPU Technology …on-demand.gputechconf.com/gtc-eu/2017/presentation/23136...single electron beam x dwell time = one pixel intensity • relevant

3414.10.2017ZEISS, Timo Stich, CRT-CA


Recommended