Presentation is loading. Please wait.

Presentation is loading. Please wait.

GPU-based Hierarchical Computations for View Independent Visibility Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Sixth Indian Conference on Computer.

Similar presentations


Presentation on theme: "GPU-based Hierarchical Computations for View Independent Visibility Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Sixth Indian Conference on Computer."— Presentation transcript:

1 GPU-based Hierarchical Computations for View Independent Visibility Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Sixth Indian Conference on Computer Vision, Graphics & Image Processing, 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

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


Download ppt "GPU-based Hierarchical Computations for View Independent Visibility Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Sixth Indian Conference on Computer."

Similar presentations


Ads by Google