Introduction

You need the following Simdify® modules to complete all exercises for Windows®: Simdify® Free Edition. Each exercise will tell you if other modules are required.

Simdify® is a platform for GPU computing that includes a family of Windows® desktop applications, Simdify® Scripting Language, and the Simdify® runtime. The Layout application allows you to design and debug complete OpenGL® workloads and export them to the Simdify® runtime on Microsoft Windows®, Linux® and Raspberry Pi® 3/4/5. This series of exercises show you how to use Simdify® to create and export data to the Simdify runtime on Windows®.

The main components of Simdify platform are as follows:

Component Description
Simdify Design ApplicationsWindows® desktop applications for designing OpenGL® workloads, adding features to existing applications, and managing large sets of documents. These exercises show you how to design OpenGL® workloads.
Simdify Scripting LanguageThe standard method of implementing custom commands and other custom behaviors for Simdify design applications.
Simdify OpenGL® RuntimeAn OpenGL® application that can execute workloads built with Simdify design applications. Simdify Free Edition includes precompiled versions of the Simdify runtime, but does not include source code. All paid products include full source to the Simdify runtime.
Terminology Wow, only 1 paragraph in and we're already taking a break. So what's the difference between a 'shader' and a 'workload' anyway? In OpenGL, a shader program is something that executes shader code on the GPU. By itself, a shader isn't really very useful. You need more than a shader program to do useful work in OpenGL—sometimes you need a lot more! So a workload includes everything needed to do something useful. A workload almost always includes shader programs, but it also includes features for binding textures, for declaring and setting uniforms, or for creating and binding shader and uniform buffers. To do useful work, you often need a significant amount of code related to resource managment, including code to read back the results from the GPU so that you can use the results computed on the GPU to solve your problems. So a shader is part of a workload, but it is not a workload by itself.

The Simdify development process is as follows:

  1. Use the Layout application on your Windows® development PC to create and debug an OpenGL workload.
  2. Export the workload as binary files compatible with the Simdify runtime.
  3. Run the Simdify runtime to execute the workload.

Basic requirements are as follows:

Item Description
Microsoft Windows® PCYou'll need a PC from 2015 or newer. Your PC must meet the minimum system requirements for Microsoft Visual C++ if you want to use it to compile the Simdify runtime.
RAMYou'll need at least 4GB of RAM, preferably more.
GPUYou'll need a GPU from Intel®, AMD®, or Nvidia® that is capable of running your target version of OpenGL/GLSL. If you want to use compute shaders, you'll need a GPU that supports GLSL 430 or higher.
Microsoft Visual Studio 2017 or higherRequired if you want to compile Simdify runtime from source code. We include full Simdify Scripting Language source code to the exporter. All paid versions of our products include full C++ source for the exporter itself, so if you're curious, and technically qualified, the exporter could be adapted to support different compilers on Windows®.
Working KnowledgeThis series assumes you know how to use Microsoft Windows® and Windows® desktop application. We assume that you are familiar with things like the main menus, command/context menus, file explorer windows, as well as how to open and save documents, including text files. If you just want to write shaders and don't want to export workloads, you don't need to know how to use Microsoft Visual C++. We recommend a minimum of 3-6 months of experience with Microsoft Visual C++ if you want to build the Simdify runtime from source and make modifications.