Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
futhark-0.25.31-linux-x86_64.tar.xz | 2025-05-21 | 8.0 MB | |
0.25.31 source code.tar.gz | 2025-05-21 | 1.9 MB | |
0.25.31 source code.zip | 2025-05-21 | 2.9 MB | |
README.md | 2025-05-21 | 1.6 kB | |
Totals: 4 Items | 12.7 MB | 0 |
Added
-
GPU backends: more efficient atomic operations on 8-bit and 16-bit quantities. This helps histograms on these types, as well as AD on programs that use
f16
. -
Improved handling of long chains of
flatten
/unflatten
/transpose
operations. -
New attributes:
#[blank]
and#[scratch]
. -
A module type
with
-refinement may now have an existentially quantified size on its right-hand side. -
Value specs in module types can now use section binding notation for symbolic names, and in fact this is the preferred form that is also used by
futhark fmt
. (#2266) -
futhark profile
now also prints proportion of total runtime for each cost centre. -
Futhark no longer warns about entry points with opaque types.
-
Types such as
foo.bar
are now turned intofoo_bar
in the C API, rather than an ugly hash.
Fixed
-
Interpreter: some tricky aspects of size-lifted types (#2258).
-
Incorrect unused-name warning for named parameters in module types.
-
Size-lifted abstract types with hidden sizes could result in different sizes being incorrectly treated as the same size.
-
It was possible to make size-lifted types appear unlifted by using parametric types (#2268).
-
The same type would be mentioned twice in some type errors.
-
The type checker neglected to detect some cases of invalid references from return types to names bound in parameter patterns. (#2271)
-
Incorrect handling of projections used in size expressions.
-
Subtle interactions of modules and sizes in the interpreter and compiler (#2273).