Skip to content
This repository has been archived by the owner on Jan 3, 2023. It is now read-only.

GameTechDev/ISPC-DirectX-Graphics-Samples

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DISCONTINUATION OF PROJECT

This project will no longer be maintained by Intel. Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project. Intel no longer accepts patches to this project.

ISPC-DirectX-Graphics-Samples

This repo is forked from Microsofts DirectX-Graphics-Samples repo and follows their licensing model.

Intel Modifications

CPU Compute with ISPC

ISPC is the Intel SPMD Program Compiler that compiles C style compute kernels into vectorised CPU instructions. The compiled functions can be called directly from within your application code and can be passed data in the normal ways. ISPC is open source and targets different vector instruction backends such as Intels AVX2, AVX1 and SSE4 etc. It is not an auto vectorising compiler, but instead it relies on some keywords and new looping constructs to control how algorithms should be parallelized, whilst utilising a high level language to deliver low-level performance gains.

Modifications have been made to the following project :

​ Samples\Desktop\D3D12nBodyGravity

The purpose of modifying this sample is to show how trivial it is to integrate ISPC into a project, how easy it is to port HLSL compute or C/C++ code to an ISPC kernel and also to see the performance gains that can be achieved over straight C/C++ scalar code.

To help focus the users of this repo, all unused samples, technique demos, libraries and templates have been removed.

Please see the accompanying article on the Intel Game Dev website for a detailed explanation of the code :

Use the Intel SPMD Program Compiler for CPU Vectorization in Games

Requirements

Updates

  1. Added support for AVX 512

About

Using ISPC, Microsofts nBodyGravity DX12 sample has been modified to provide a fully vectorized and fully threaded CPU based backend for the compute part of the workload.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published