Vengineerの戯言

人生は短いけど、長いです。人生を楽しみましょう!

Cerebras WSE用プログラミング言語 CSL とは?

はじめに

Cerebras Systems の WSEの中のPEのプログラムってどうなっているのか?ずーと、謎でしたが、先日、Google君に色々と聞いていたら、出てきました。

Cerebras Software Language (CSL) で、Zig という言語をベースにしているようです。

Cerebras SDK

The Cerebras Software Development Kit: A Technical Overviewに、Cerebras Software Development Kit なるものの説明があります。

この中で、下記の部分で、CSL というものがあります。CSLは、Cerebras Software Language の略で、Zigという言語をベースにしているっぽです。

Programming the CS-2 using CSL

CSL is designed for writing high-performance programs for PEs on the WSE. CSL is a medium-level language, in that it exposes both low and high-level programming features. CSL is low-level in that it exposes the capabilities of the instruction set and some of the hardware structures that the ISA controls. On the other hand, CSL is a high-level language in that it supports structured control flow, loops, if-then-else constructs, and hides processor registers, performing automatic register allocation. CSL allows for compile time execution of code blocks that take compile-time constant objects as input, a powerful feature it inherits from Zig, on which CSL is based. CSL will be largely familiar to anyone who is comfortable with C/C++, but there are some new capabilities on top of the C-derived basics.

Zig とは?

Zig は、下記のサイトにありました。

Zig is a general-purpose programming language and toolchain for maintaining robust, optimal and reusable software.

ziglang.org

Version は、0.10.0 です。ぱっと見、Rust っぽいです。Sponsors の中に、あの、時雨堂のロゴがあります。

おわりに

CerebrasのSDK R0.6の新機能についてにもちょこっと情報がありました。