Skip to content

Release 1.0.2

Compare
Choose a tag to compare
@elliottslaughter elliottslaughter released this 26 Jun 06:02
· 77 commits to master since this release

This release includes improvements to make Terra better match Unix-like system conventions, as well as substantial improvements to C calling convention conformance on PPC64le.

Changed behaviors

  • Terra historically installed its shared library as terra.so or terra.dylib on Unix-like systems. This is for compatibility with Lua, which allows a module be loaded as require("terra") if terra.so (or terra.dylib, depending on the system) is present. However, this conflicts with the Unix standard of having libraries prefixed with lib. In this release, Terra installs its shared library as libterra.so or libterra.dylib, and installs a symlink for terra.so or terra.dylib for backwards compatibility. (Behavior on Windows and with static libraries is unchanged.)

Improvements

  • Substantially improved C calling convention conformance on PPC64le, along with a new conformance test that matches behavior against C for all primitive types (uint8, int16, int32, ...) and structs/arrays of those types, up to a bound. Successfully tested on POWER9 hardware up to N = 23. Current test suite pass rate on this hardware is 98.5%.

Binaries

Binaries for this release were produced in the following configurations:

  • Linux: x86_64 on Ubuntu 18.04 with LLVM 13 and CUDA 11.6 (verified to work on Ubuntu 20.04 and 22.04)
  • macOS: x86_64 on macOS 10.15 with LLVM 13 (verified to work on macOS 12.4)
  • Windows: x86_64 on Server 2022 with LLVM 11 and CUDA 11.6

Note that, while we do our best to make the binaries compatible across OS versions/distros, in general we cannot guarantee compatibility outside of the specified OS release (except where otherwise noted).

Experimental binaries

In addition, the following experimental binaries are available. These platforms do NOT pass 100% of the Terra test suite, and are being provided on an as-is basis for interested users. Your specific mileage may vary depending on what Terra features you use.

  • Linux: ARM64 on Ubuntu 18.04 with LLVM 13 (verified on Ubuntu 22.04: passes about 96% of tests)
  • Linux: PPC64le on Ubuntu 18.04 with LLVM 13 (verified on RHEL 8: passes about 98.5% of tests)