Skip to content

seanbaxter/floor_examples

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
    iOS: Lake in the Alps; cli: Tiger, licensed under CC BY 2.0 by Tony Hisgett

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:

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
    noise and streaks courtesy of the horrible random function that I'm using

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:

About

example programs for https://github.com/a2flo/floor (dnn, nbody, warp, hlbvh, path tracer, other)

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 70.7%
  • Shell 23.4%
  • Objective-C++ 5.8%
  • CMake 0.1%