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
Allocations were sometimes hoisted incorrectly
f32.e is no longer pi.
Various other fixes.
Futhark 是一个小型全新的函数式编程语言,可编译为高性能的 GPU 代码。使用静态类型、并行数据以及纯函数数组语言。该语言对编译器提前进行重度的优化,通过 OpenCL 生成 GPU 代码。Futhark 并非为图形编程而设计,通过使用 GPU 来加速并行的数组计算,支持常规嵌套的数据并行化处理。
Futhark 使用 Haskell 语言开发。
软件详情:https://futhark-lang.org/blog/2017-11-19-futhark-0.2.0-released.html
下载地址:https://github.com/diku-dk/futhark/releases/download/v0.2.0/futhark-0.2.0-linux-x86_64.tar.xz
来自:开源中国社区

