Skip to content

A compiled, statically typed, C-like, data oriented language with a focus on performance and low-level optimization using GPU acceleration via kernels.

License

Notifications You must be signed in to change notification settings

Goubermouche/sigma

Repository files navigation

sigma logo

Linux Windows

Sigma is a compiled, statically typed, C-like, data oriented language with a focus on performance and low-level optimization using GPU acceleration via kernels. Sigma is currently under heavy development and isn't ready for stable use.

Important

I've taken a break from developing Sigma for the time being, but the project isn't dead and will be worked on eventually, in some shape or form. I'm currently trying to focus on the development of my minimalistic backend and x86/64 assembler, which will later be used as the main backend for this project.

Getting up and running

Get started by running:

# Download Sigma's source code
$ git clone https://github.com/Goubermouche/sigma.git --recursive
$ cd sigma

# Generate project files
$ premake5 vs2022

After downloading and building the project you can compile a .s file [WIP]:

# Compile main.s as a Sigma source file
$ sigma compile main.s

Project status

I've taken a break from developing Sigma for now, but the project isn't dead and will be worked on eventually. I'm currently trying to focus on the development of my minimalistic backend and x86/64 assembler, which will later be used as the main backend for this project.

  • TODO:
    • Project cleanup
    • Better object file emitter (Windows)
    • First PTX tests
  • Future:
    • Unified package manager
    • Official GPU support via kernels

Contributing

Contributions, either to the compiler implementation, or related to language design are greatly appreciated and welcome.

Tooling

Sigma strives to be a fully functional enviroment, for this purpose we're developing several tools which aim to ease entry cost and improve the developer experience. As more tools become available they will be added to the list bellow:

Dependencies

  • Premake5
  • TB (indirect, Sigma contains a 'C++ reimplementation' of some TB systems)

About

A compiled, statically typed, C-like, data oriented language with a focus on performance and low-level optimization using GPU acceleration via kernels.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages