Download presentation

Presentation is loading. Please wait.

Published byDamien Daffron Modified over 2 years ago

1
GPU-based Hierarchical Computations for View Independent Visibility Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Sixth Indian Conference on Computer Vision, Graphics & Image Processing, 2008 http://www.cse.iitb.ac.in/~{rhushabh, prekshu, sharat}

2
Problem Statement ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Parallel Fast computation of view-independent visibility in a complex scene represented as a point model, using a GPU

3
Problem Statement ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Parallel Fast computation of view-independent visibility in a complex scene represented as a point model, using a GPU

4
Parallel Fast computation of view-independent visibility in a complex scene represented as a point model, using a GPU Problem Statement ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran

5
Problem Statement ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Parallel, fast computation of view-independent visibility in a complex scene represented as a point model, using a GPU

6
Problem Statement ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Parallel, fast computation of view-independent visibility in a complex scene represented as a point model, using a GPU

7
Problem Statement ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Parallel, fast computation of view-independent visibility in a complex scene represented as a point model, using a GPU

8
Problem Statement ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Parallel, fast computation of view-independent visibility in a complex scene represented as a point model, using a GPU

9
Problem Statement ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Parallel, fast computation of view-independent visibility in a complex scene represented as a point model, using a GPU

10
Problem Statement ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Parallel, fast computation of view-independent visibility in a complex scene represented as a point model, using a GPU

11
Problem Statement ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Parallel, fast computation of view-independent visibility in a complex scene represented as a point model, using a GPU

12
Result Video ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran VIDEO !

13
Challenges ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran O(N 3 ) Time Complexity N 2 point-pairs N occluders considered for every pair No surface Information Polygonal ModelPoint Model AABB [GKSD 07], Visibility Map for Global Illumination in Point Clouds, GRAPHITE 2007

14
Building the Octree Hierarchy ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran

15
ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Building the Octree Hierarchy

16
ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Building the Octree Hierarchy

17
ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Building the Octree Hierarchy

18
ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Building the Octree Hierarchy

19
ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Visibility between Point Clusters

20
ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Visibility between Point Clusters

21
ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Visibility between Point Clusters

22
ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Discussion: Visibility between Point Clusters O(M 2 log M) Time Complexity (for Octree with M leaves) M 2 log M << N 3 M << N … but still not fast enough !

23
ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Discussion: Visibility between Point Clusters O(M 2 log M) Time Complexity (for Octree with M leaves) M 2 log M << N 3 M << N … but still not fast enough !

24
ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Contributions O(M 2 log M) Time Complexity (for Octree with M leaves) M 2 log M << N 3 M << N … but still not fast enough ! Parallel, Fast computation of view-independent visibility in a complex scene represented as a point model, using a GPU Problem Statement & Contributions: Achieved upto 19x speed-up

25
ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran O(M 2 log M) Time Complexity (for Octree with M leaves) M 2 log M << N 3 M << N … but still not fast enough ! Achieved upto 19x speed-up Visibility Problem is highly parallel Problem Statement & Contributions: Contributions Parallel, Fast computation of view-independent visibility in a complex scene represented as a point model, using a GPU

26
ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran O(M 2 log M) Time Complexity (for Octree with M leaves) M 2 log M << N 3 M << N … but still not fast enough ! Achieved upto 19x speed-up No compromise on quality Visibility problem is highly parallel Problem Statement & Contributions: Contributions Parallel, Fast computation of view-independent visibility in a complex scene represented as a point model, using a GPU

27
ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran O(M 2 log M) Time Complexity (for Octree with M leaves) M 2 log M << N 3 M << N … but still not fast enough ! Achieved upto 19x speed-up Visibility problem is highly parallel No Dynamic Memory Allocation and Recursion No compromise on quality Problem Statement & Contributions: Contributions Parallel, Fast computation of view-independent visibility in a complex scene represented as a point model, using a GPU

28
ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran O(M 2 log M) Time Complexity (for Octree with M leaves) M 2 log M << N 3 M << N … but still not fast enough ! Achieved upto 19x speed-up Visibility problem is highly parallel No compromise on quality No Dynamic Memory Allocation and Recursion Problem Statement & Contributions: Contributions Parallel, Fast computation of view-independent visibility in a complex scene represented as a point model, using a GPU

29
Application to Global Illumination ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Parallel, Fast computa t ion of view-independent visibility in a complex scene represented as a point model, using a GPU

30
Application to Global Illumination ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Point modeled Cornell Room and the Stanford Bunny Parallel, Fast computa t ion of view-independent visibility in a complex scene represented as a point model, using a GPU

31
Application to Global Illumination ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Can be extended to the Digital Heritage Project http://research.microsoft.com

32
Plan ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Hierarchical Visibility Map (V-map) Construction on CPU Parallel V-map Construction on GPU Strategy 1 – Multiple threads per node Strategy 2 – One thread per node Strategy 3 – Multiple threads per node-pair Results Conclusion

33
Plan ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Hierarchical Visibility Map (V-map) Construction on CPU Parallel V-map Construction on GPU Strategy 1 – Multiple threads per node Strategy 2 – One thread per node Strategy 3 – Multiple threads per node-pair Results Conclusion

34
What is a V-map ? ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran V-map for a tree is a collection of visibility links for every node in the tree

35
What is a V-map ? ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran V-map for a tree is a collection of visibility links for every node in the tree The visibility link for any node N is a set L of nodes Node N

36
What is a V-map ? ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran V-map for a tree is a collection of visibility links for every node in the tree The visibility link for any node N is a set L of nodes Every point in any node L is guaranteed to be visible from every point in N Node N V1

37
What is a V-map ? ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran V-map for a tree is a collection of visibility links for every node in the tree The visibility link for any node N is a set L of nodes Every point in any node L is guaranteed to be visible from every point in N Node N V1 V2

38
What is a V-map ? ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran V-map for a tree is a collection of visibility links for every node in the tree The visibility link for any node N is a set L of nodes Every point in any node L is guaranteed to be visible from every point in N Node N V1 V2 V3

39
What is a V-map ? ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level 0

40
What is a V-map ? ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran With respect to at any level, Level 0 Level 1

41
What is a V-map ? ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran With respect to at any level, Level 0 Level 1 Level 2

42
What is a V-map ? ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran With respect to at any level, Level 0 Level 1 Level 2 Level 3

43
CPU based V-map Construction ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

44
CPU based V-map Construction ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

45
CPU based V-map Construction ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

46
CPU based V-map Construction ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

47
CPU based V-map Construction ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

48
CPU based V-map Construction ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

49
CPU based V-map Construction ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

50
CPU based V-map Construction ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

51
CPU based V-map Construction ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

52
CPU based V-map Construction ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

53
Plan ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Hierarchical Visibility Map (V-map) Construction on CPU Parallel V-map Construction on GPU Strategy 1 – Multiple threads per node Strategy 2 – One thread per node Strategy 3 – Multiple threads per node-pair Results Conclusion

54
Plan ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Hierarchical Visibility Map (V-map) Construction on CPU Parallel V-map Construction on GPU Strategy 1 – Multiple threads per node Strategy 2 – One thread per node Strategy 3 – Multiple threads per node-pair Results Conclusion

55
Strategy 1: Multiple Threads per Node ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran A N I0I0 I1I1 I2I2 I3I3 Interaction List

56
Computation by a Single Thread ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

57
Strategy 1: Multiple Threads per Node ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran A N I0I0 I1I1 I2I2 I3I3 Interaction List Degree of parallelism limited by the size of the nodes interaction list Serious Limitation: No support for Recursion and Dynamic memory allocation Discussion:

58
Plan ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Hierarchical Visibility Map (V-map) Construction on CPU Parallel V-map Construction on GPU Strategy 1 – Multiple threads per node Strategy 2 – One thread per node Strategy 3 – Multiple threads per node-pair Results Conclusion

59
Strategy 2: One Thread per Node ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Degree of parallelism limited by number of nodes per level Serious Limitation: No support Recursion and Dynamic memory allocation Discussion: A I0I0 I1I1 I2I2 I3I3 N I0I0 I1I1 Level L Level L Interaction List Performance increases as we go down the octree

60
Plan ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Hierarchical Visibility Map (V-map) Construction on CPU Parallel V-map Construction on GPU Strategy 1 – Multiple threads per node Strategy 2 – One thread per node Strategy 3 – Multiple threads per node-pair Results Conclusion

61
Strategy 3: Multiple Threads per Node-Pair ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

62
Strategy 3: Multiple Threads per Node-Pair ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

63
Strategy 3: Multiple Threads per Node-Pair ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

64
Strategy 3: Multiple Threads per Node-Pair ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

65
Strategy 3: Multiple Threads per Node-Pair ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

66
Strategy 3: Multiple Threads per Node-Pair ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

67
Strategy 3: Multiple Threads per Node-Pair ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

68
Strategy 3: Multiple Threads per Node-Pair ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

69
Strategy 3: Multiple Threads per Node-Pair ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

70
Strategy 3: Multiple Threads per Node-Pair ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Level L-2 Level L-1 Level L Level L-3 Level 0

71
CPU v/s GPU ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran CPU AlgorithmGPU Algorithm

72
CPU v/s GPU ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran CPU AlgorithmGPU Algorithm

73
Strategy 3: Multiple Threads per Node-Pair ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Degree of parallelism is high as hundreds/thousands of threads run concurrently most of the time Recursion and Dynamic memory allocation happens on the CPU Performance is best at octree levels near to root Achieves upto 19x speed-up Discussion: No change in Quality

74
Plan ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Hierarchical Visibility Map (V-map) Construction on CPU Parallel V-map Construction on GPU Strategy 1 – Multiple threads per node Strategy 2 – One thread per node Strategy 3 – Multiple threads per node-pair Results Conclusion

75
Results: Visibility Validation ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran

76
Results: Visibility Validation ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran

77
Results: Timings ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Bunny in the Cornell Room (1,35,000 points) Max Speedup : 19X

78
Results: Timings ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Buddha in the Cornell Room (2,30,000 points) Max Speedup : 14X

79
Results: Timings ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Ganesha & Satyawati in the Cornell Room (3,50,000 points) Max Speedup : 17X

80
Results: Application to Global Illumination ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran

81
Results: Application to Global Illumination ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran

82
Results: Quality Comparison ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran

83
Results: Quality Comparison ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran

84
Discussion: Implementation Details ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Optimal Thread and Block Size Each block (16 x 16) contained 256 threads Every thread-block Grid contained no less than 64 blocks Asynchronous Computations Loop Unrolling

85
Plan ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Hierarchical Visibility Map (V-map) Construction on CPU Parallel V-map Construction on GPU Strategy 1 – Multiple threads per node Strategy 2 – One thread per node Strategy 3 – Multiple threads per node-pair Results Conclusion

86
Final Note ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran P arallel implementation of the view-independent mutual point-pair visibility problem on the modern day GPU (G80/G92 architecture) was presented Several strategies to achieve the desired parallelism were introduced and the most suitable one chosen Speed-ups upto 19X were reported while maintaining the quality of results Blocks of 256 threads achieved optimal GPU performance Good octree heights essential for high speed-ups and accurate visibility results By viewing this V-map construction as a pre-processing step, photo-realistic global illumination rendering of complex point models have been shown Parallel V-map construction solution can be thought as an intuition to solve other problems involving computing relationships amongst data at various levels in a hierarchy

87
Thank You ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Fractal: Mandel Zoom - Satellite Antenna, Mandelbrot set

88
Problem Statement ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Fast computation of view-independent visibility in a complex scene represented as a point model, using a GPU

89
Problem Statement ICVGIP, 2008Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Fast computation of view-independent visibility in a complex scene represented as a point model, using a GPU

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google