floor examples
dnn:
- demonstrates inference on a VGG16 deep neural network (implements convolution, max-pooling, fully-connected and softmax layers)
- build with “./build.sh” inside the folder
- cd data/nets/vgg16 && ./get_vgg16.sh to download the necessary VGG16 layers/net
- desktop/cli: run with “—image <path/to/image.png>” (image must be 224*224px 32-bit RGBA for now)
- iOS: press cheese and take a photo

warp:
- image-based warping, implemented using a scatter-based approach and a gather-based approach (based on “Image-Based Bidirectional Scene Reprojection”)
- build with “./build.sh” inside the folder
- gather-based warping ref: http://www.cs.virginia.edu/~gfx/pmwiki/index.php?n=Pubs.Yang2011IBB
- NOTE: in addition to floor + dependencies, this requires SDL2_image with libpng, as well as libwarp
- video:
nbody:
- N-body simulation to demonstrate local/shared memory buffers, local memory barriers, OpenGL and Metal buffer sharing, loop unrolling and that high performance computing is indeed possible with this toolchain
- build with “./build.sh” inside the folder
- ref: http://http.developer.nvidia.com/GPUGems3/gpugems3_ch31.html
- video:
hlbvh:
- triangle/triangle collision detection of animated meshes using HLBVH (constructed per-step/frame)
- build with “./build.sh” inside the folder
- ref: https://research.nvidia.com/sites/default/files/publications/karras2012hpg_paper.pdf

path_tracer:
- a simple path tracer to demonstrate compute code compilation and execution, as well as some mildly complex C++14 code
- build with “./build.sh” inside the folder

reduction:
- simple (WIP) reduction example that showcases 3 different reduce implementations: local/shared memory reduce, shuffle reduce and CUDA coop kernel + shuffle reduce
img:
- small program to demonstrate image functionality by doing a gaussian blur (implemented with manual local memory caching as well as a “dumb” version, running the same code as the also provided GLSL implementation)
- build with “./build.sh” inside the folder
occ:
- offline-compute-compiler, compiles compute/graphics C++ code to CUDA/PTX, Metal/AIR, OpenCL/SPIR/SPIR-V, Vulkan/SPIR-V code/binaries (see —help for all options)
- build with “./build.sh” inside the folder
libfloor and toolchain:

