Displaying 1 to 20 from 27 results

Forge - A neural network toolkit for Metal


Forge is a collection of helper code that makes it a little easier to construct deep neural networks using Apple's MPSCNN framework. Conversion functions. MPSCNN uses MPSImages and MTLTextures for everything, often using 16-bit floats. But you probably want to work with Swift [Float] arrays. Forge's conversion functions make it easy to work with Metal images and textures.

tvm - bring deep learning workloads to bare metal


TVM is a Tensor intermediate representation(IR) stack for deep learning systems. It is designed to close the gap between the productivity-focused deep learning frameworks, and the performance- and efficiency-focused hardware backends. TVM works with deep learning frameworks to provide end to end compilation to different backends. Checkout our announcement for more details.© Contributors, 2017. Licensed under an Apache-2.0 license.

nnvm - Bring deep learning to bare metal


The following code snippet demonstrates the general workflow of nnvm compiler.Licensed under an Apache-2.0 license.

ARKit-Sampler - Code examples for ARKit.


ARKit-Sampler is a collection of ARKit samples. A simple AR with 3 lines code.




glsl-optimizer - GLSL optimizer based on Mesa's GLSL compiler


A C++ library that takes GLSL shaders, does some GPU-independent optimizations on them and outputs GLSL or Metal source back. Optimizations are function inlining, dead code removal, copy propagation, constant folding, constant propagation, arithmetic optimizations and so on. Apparently quite a few mobile platforms are pretty bad at optimizing shaders; and unfortunately they also lack offline shader compilers. So using a GLSL optimizer offline before can make the shader run much faster on a platform like that. See performance numbers in this blog post.

Bender - Easily craft fast Neural Networks on iOS! Use TensorFlow models. Metal under the hood.


Bender is an abstraction layer over MetalPerformanceShaders useful for working with neural networks. Bender is an abstraction layer over MetalPerformanceShaders which is used to work with neural networks. It is of growing interest in the AI environment to execute neural networks on mobile devices even if the training process has been done previously. We want to make it easier for everyone to execute pretrained networks on iOS.

bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library


Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library. http://airmech.com/ AirMech is a free-to-play futuristic action real-time strategy video game developed and published by Carbon Games.


TensorFlow-iOS-Example - Source code for my blog post "Getting started with TensorFlow on iOS"


This is the code that accompanies my blog post Getting started with TensorFlow on iOS. It uses TensorFlow to train a basic binary classifier on the Gender Recognition by Voice and Speech Analysis dataset.

YOLO-CoreML-MPSNNGraph - Tiny YOLO for iOS implemented using CoreML but also using the new MPS graph API


This is the source code for my blog post YOLO: Core ML versus MPSNNGraph. YOLO is an object detection network. It can detect multiple objects in an image and puts bounding boxes around these objects. Read my other blog post about YOLO to learn more about how it works.

BNNS-vs-MPSCNN - Compares the speed of Apple's two deep learning frameworks: BNNS and Metal Performance Shaders


This app compares the speed of Apple's two deep learning frameworks: BNNS and Metal Performance Shaders (MPSCNN). It creates a basic convolutional neural network with 2 convolutional layers, 2 pooling layers, and a fully-connected layer. Then it measures how long it takes to sends the same image 100 times through the network.

metalbrot-playground - An interactive playground showing how to use Metal compute kernels.


Metalbrot.playground is an interactive playground showing how to use Metal compute kernels with Swift. More information can be found on my blog.

NabaztagHackKit - A simple SDK to get your hands dirty with Nabaztag


Everything you need to hack the Rabbit: a sinatra server including simple api framework to run custom bytecode on Nabaztag v1/v2. Includes original compiler sources for linux and a modified mac os x version. The Hack Kit is distributed as a ruby gem. It comes with a simple web server (based on sinatra) which runs out-of-the for connecting you rabbit and distributing the nabaztag bytecode. In addition it includes sinatra helpers/modules to communicate with the rabbit easily. Lastly it provides binaries to compile your own Nabaztag bytecode (see Binaries below).

MetalAsyncReadback - Asynchronous GPU readback implementation for Unity on Metal (macOS/iOS)


This is an example that shows how to asynchronously read back GPU data into the system memory in Unity running with the Metal graphics API mode (macOS/iOS). This implementation is slightly different from the official implementation of AsyncGPUReadback. You have to manually manage compute buffers to avoid overwriting while readback.

ToyPathTracer - Toy path tracer for my own learning purposes


Toy path tracer for my own learning purposes, using various approaches/techs. Somewhat based on Peter Shirley's Ray Tracing in One Weekend minibook (highly recommended!), and on Kevin Beason's smallpt. Right now: can only do spheres, no bounding volume hierachy of any sorts, a lot of stuff hardcoded.

MetalNanoVG - The Metal port of NanoVG.


MetalNanoVG is the native Metal port of NanoVG that tries to get the most out of Apple's Graphics APIs. Done.

MetalPerformanceShadersProxy - A proxy for MetalPerformanceShaders which takes to a stub on a simulator and to the real implementation on iOS devices


A proxy for MetalPerformanceShaders (and dependents) which takes to a stub on a simulator and to the real implementation on a device. It works both for Swift and Objective-C. This pod will add no stub to devices (no footprint!), as the proxy uses preprocessor macros to decide which implementation to use.