nvidia index
play

NVIDIA INDEX IMPLEMENTING ADVANCED DATA VISUALIZATION WITH NVIDIA - PowerPoint PPT Presentation

NVIDIA INDEX IMPLEMENTING ADVANCED DATA VISUALIZATION WITH NVIDIA INDEX Alexander Kuhn and Marc Nienhaus, March 29, 2018 NVIDIA INDEX Analyze Large-Scale Data for Faster Discoveries INTERACTIVE SCALABLE CLOUD MASSIVE 2 NVIDIA INDEX 2.0


  1. NVIDIA INDEX IMPLEMENTING ADVANCED DATA VISUALIZATION WITH NVIDIA INDEX Alexander Kuhn and Marc Nienhaus, March 29, 2018

  2. NVIDIA INDEX Analyze Large-Scale Data for Faster Discoveries INTERACTIVE SCALABLE CLOUD MASSIVE 2

  3. NVIDIA INDEX 2.0 Overview • NVIDIA IndeX 2.0 Features: • programmable rendering programs (CUDA), using real-time compiler • allows access to scene data, highly customizable visualization • IndeX controls parallelization & data distribution • Access through NVIDIA GPU Cloud (NGC) • https://ngc.nvidia.com 3

  4. VOLUME SHADING USING USER-DEFINED SAMPLE PROGRAMS (‘SHADER’) 4

  5. NVIDIA INDEX Example Volume Program (CUDA C++) class NV_IDX_volume_sample_program { NV_IDX_VOLUME_SAMPLE_PROGRAM view ray public: NV_IDX_DEVICE_INLINE_MEMBER samples void init_instance () { // … int execute ( } int execute ( const float3& const float3& int execute ( sample_pos , sample_pos , const float3& int execute ( float4& color ) NV_IDX_DEVICE_INLINE_MEMBER sample_pos , float4& color ) const float3& { int execute ( int execute ( const NV_IDX_sample_info_self& sample_info , { float4& color ) sample_pos , color = foo(sample_pos) ; int execute ( const float3& float4& output_color ) color = foo(sample_pos) ; { float4& color ) return NV_IDX_PROG_OK ; volume domain sample_pos , const float3& { color = foo(sample_pos) ; { } return NV_IDX_PROG_OK ; sample_pos , float4& color ) } return NV_IDX_PROG_OK ; color = foo(sample_pos) ; float4& color return NV_IDX_PROG_OK; { } return NV_IDX_PROG_OK ; color = foo(sample_pos) ; { } } color = foo(sample_p return NV_IDX_PROG_OK ; } return NV_IDX_PROG_O } }; 5

  6. NVIDIA INDEX Example Surface Program (CUDA C++) class NV_IDX_surface_sample_program { NV_IDX_VOLUME_SAMPLE_PROGRAM view rays samples public: NV_IDX_DEVICE_INLINE_MEMBER void init_instance () { // … } NV_IDX_DEVICE_INLINE_MEMBER int execute ( const NV_IDX_sample_info_self& sample_info , float& sample_depth, object surface float4& output_color ) { return NV_IDX_PROG_OK; } }; 6

  7. NVIDIA INDEX CUDA Programming Interface Example Data & Shape Objects: • NV_IDX_volume  regular 3D volume • NV_IDX_plane  simple plane object • NV_IDX_shape  simple shape (here: ellipsoid) Available Scene Access Objects: • NV_IDX_state  main state class state • NV_IDX_scene  scene reference container state.scene • NV_IDX_ray  sampling ray state.scene.ray • NV_IDX_camera  camera object state.scene.camera • NV_IDX_colormap  colormap reference object 7

  8. NVIDIA INDEX CUDA Programming Interface Example Default IndeX Library Functionality • CUDA standard operators • Scene object access functions • Algebraic operations • basic vector & matrix operations • transformation functionality • Convenience operators • gamma operations • shading functions • … 8

  9. NVIDIA INDEX Real Time Compilation Interface IndeX Tutorial: 1. Basic Functions and Program Layout • volume access & sampling • colormapping and modification 2. Extended CUDA Kernel Parameter Support • access scene shapes • simple shading operations 3. Basic Scene Element Access • sampling planes • simple shapes (spheres) 9

  10. LIVE TUTORIAL 10

  11. NVIDIA INDEX Wrap Up • introduction to CUDA sample programming STAG BEETLE • implementing sample programs for Supernova WWW.CG.TUWIEN.AC.AT/RESEARCH/PUBLICATIONS/2005/DATASET-STAGBEETLE/ • download docker container at: • ngc.nvidia.com and try yourself • send us your feedback! akuhn@nvidia.com mnienhaus@nvidia.com https://developer.nvidia.com/index 11 GLOBAL WEATHER SIMULATION ICON, HTTPS://WWW.MPIMET.MPG.DE/EN/SCIENCE/MODELS/ICON-LEM/

  12. NVIDIA INDEX DOCKER IMAGE AVAILABLE THROUGH NGC REPOSITORY https://ngc.nvidia.com (requires Chrome or Chromium browser) 12

  13. APPENDIX 13

  14. Life Science (Microscopy, Brain of a Fly) 14

  15. Climate Research (Weather Simulation) 15

  16. NVIDIA INDEX FOR PARAVIEW PLUGIN ON NGC 16

  17. NVIDIA INDEX FOR PARAVIEW PLUGIN ON NGC 17

  18. LATEST NVIDIA 2.0 INDEX FEATURES Available Q2 2018 CUDA programmable advanced visualization Speed up the discovery process CUDA programmable data query operations Better justify observed phenomena DGX technology optimized NVIDIA IndeX Accelerate data visualization process NVIDIA OptiX Technology Visualize the most complex data structures Application Layer Convenience functionalities simplifies the integration of NVIDIA IndeX 18

  19. RTC TRANSFORMATION HANDLING World Space global scene transformation (M4x4f) Scene Space object transformations (M4x4f) Meshes Regular Volume Height Field Shapes (Object Space) (Object Space) (Object Space) (Object Space) object grid transformations Sample Space Sample Space Sample Space Sample Space 19

  20. NVIDIA INDEX Real Time Compilation Interface Basic Tipps & Tricks • Use CUDA standard functions carefully • avoid forced synchs • avoid dynamic memory allocations • Adapt kernel complextiy • avoid recomputations • e.g. expensive filtering should move into pre-processing stage • only perform lookups & sampling when really required • Custom kernel speed up tweeks maybe valuable • e.g. discard very low alpha values • Currently no save, keep kernels in separate editor 20

  21. NVIDIA INDEX Overview • distributed, parallel rendering framework • strong scalability, massive data support • interactive, real-time data exploration • programmable CUDA sample programs • available as: 1. docker container 2. ParaView Plugin 21

Recommend


More recommend