Skip to content

Commit

Permalink
add notice about move to Cogent Core
Browse files Browse the repository at this point in the history
  • Loading branch information
kkoreilly committed May 3, 2024
1 parent c1972ab commit fec37a1
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# gosl

**IMPORTANT UPDATE:** [Cogent Core](https://github.com/cogentcore/core) now has an improved version of gosl in its [vgpu/gosl](https://github.com/cogentcore/core/tree/main/vgpu/gosl) package and associated sub-packages. This version will not be further maintained or developed. The v1 version is still needed for the v1 version of emergent.

`gosl` implements Go as a shader language for GPU compute shaders: converts Go code to HLSL, and then uses the [glslc](https://github.com/google/shaderc) compiler (e.g., from a vulkan package) to compile into an `.spv` SPIR-V file that can be loaded into a vulkan compute shader. `glslc` must be [installed](https://askubuntu.com/questions/1252585/how-to-install-glslc-on-ubuntu-20-04)!

Thus, `gosl` enables the same CPU-based Go code to also be run on the GPU. The relevant subsets of Go code to use are specifically marked using `//gosl:` comment directives, and this code must only use basic expressions and concrete types that will compile correctly in a shader (see [Restrictions](#restrictions) below). Method functions and pass-by-reference pointer arguments to `struct` types are supported and incur no additional compute cost due to inlining (see notes below for more detail).
Expand Down

0 comments on commit fec37a1

Please sign in to comment.