Futhark 0.2.0 已发布,与第一个版本相比,该版本没有添加主要的编译器优化特性,相反,该版本专注于各种提升使用体验的改进,具体更新如下: Added Run-time errors due to failed assertions now include a stack trace. Generated OpenCL code now picks more sensible group size and count when running on a CPU. scatter expressions nested in maps may now be parallelised ("segmented scatter"). Add num_bits/get_bit/set_bit functions to numeric module types, including a new float module type. Size annotations may now refer to preceding parameters, e.g: let f (n: i32) (xs: [n]i32) = ... futhark-doc: retain parameter names in generated docs. futhark-doc: now takes -v/--verbose options. futhark-doc: now generates valid HTML. futhark-doc: now permits files to contain a leading documentation comment. futhark-py/futhark-pyopencl: Better dynamic type checking in entry points. Primitive functions (sqrt etc) can now be constant-folded. Futlib: /futlib/vec2 added. Removed The built-in shape function has been removed. Use length or size parameters. Changed The from_i32/from_i64 functions of the numeric module type have been replaced with functions named i32/i64. Similarly functions have been added for all the other primitive types (factored into a new from_prim module type). The overloaded type conversion functions (i32, f32, bool, etc) have been removed. Four functions have been introduced for the special cases of converting between f32/f64 and i32: r32, r64, t32, t64. Modules and variables now inhabit the same name space. As a consequence, we now use x.y to access field y of record x. Record expression syntax has been simplified. Record concatenation and update is no longer directly supported. However, fields can now be implicitly defined: {x,y} now creates a record with field x and y, with values taken from the variables x and y in scope. Fixed The != operator now works properly on arrays (#426). Allocations were sometimes hoisted incorrectly (#419). f32.e is no longer pi. Various other fixes. 发布主页和完整更新日志。 Futhark 是一个小型全新的函数式编程语言,可编译为高性能的 GPU 代码。使用静态类型、并行数据以及纯函数数组语言。该语言对编译器提前进行重度的优化,通过 OpenCL 生成 GPU 代码。Futhark 并非为图形编程而设计,通过使用 GPU 来加速并行的数组计算,支持常规嵌套的数据并行化处理。 Futhark 使用 Haskell 语言开发。 下载地址: futhark-0.2.0-linux-x86_64.tar.xz Source code (zip) Source code (tar.gz) Futhark 0.2.0 发布,小型全新的函数式编程语言下载地址