Pixelglow Software launches macstl 0.3.1 — Linux x86
PERTH, Western Australia — Sep 6, 2005 — Pixelglow Software today
launched a new version of their flagship library, macstl 0.3.1. Available
now, macstl is a portable SIMD (single instruction multiple data) toolkit
that massively accelerates array-based code. It features fast
transcendental and integer division functions, complex number arithmetic
and cross-platform programming, all in an easy-to-use syntax. Highlights of
this version: Linux x86 and Cygwin support, new conjugate function, new
refarray class and extensive re-optimization for gcc 4.0.
“If the G4 [microprocessor] were a rocket… then macstl would be its
fuel,” reports Ilya Lipovsky, Algorithms Engineer at SKY Computers,
provider of high performance embedded servers. Ilya tested macstl 0.3.1
with gcc 4.0 on a Linux PPC system and achieved a 450x speed up in
trigonometric code over raw array loops.
macstl requires Mac OS X 10.3 or 10.4, Windows 2000, XP or Server 2003,
Linux PPC or x86, or Cygwin 1.5. The library is open-source and free when
derived code is reciprocated, otherwise it is $99 for a Personal license,
$499 for a Corporate License and $2499 for a Redistributable License.
Product: (http://www.pixelglow.com/macstl/)
Download: (http://www.pixelglow.com/macstl/download/)
Email: macstl at pixelglow dot com.
Rocket Fuel
Quote: (http://www.pixelglow.com/lists/archive/macstl-dev/2005-September/000142.html)
List of New Features
The new features include:
– Fixed class scope vector typedefs, missing PowerPC intrinsics header,
vector initializer syntax for FSF 3.4 [ILi*].
– Added complex conj function for vec and valarray [ILi*].
– Improved valarray expression performance: v1 [slice].
– Improved valarray code generation: CSE, inlining limits, literal terms,
array term elements, statarray construction, compiling -faltivec without
-maltivec for Apple gcc 4.0.
– Added refarray class [PBa].
– Fixed buffer overflow in integral valarrays for SSE2; added optimizations
for valarray expressions: v1 )) k and v1 (( k for SSE2 [MSh].
– Fixed accumulate array dispatch, integer constant overflow, literal
benchmark test for SSE2; fixed chunking iterator pessimization for gcc
3.3/4 [ILi, RBe].
– Added makefile for Linux x86 [ILi*].
– Added support for FSF gcc 3.4 on Cygwin 1.5.
– Added differently typed valarray construct and assign from terms,
valarrays of sized booleans, select with sized booleans [ILi].
– Fixed unix makefile directory.
– Added macstlizer conversions: abs, abss, cmpeq, max, min.
– Improved readme file.
More about macstl and Pixelglow Software
SIMD is a feature of modern CPUs like the PowerPC Altivec and Intel MMX/SSE
that allows them to process data 4x to 16x faster than regular, scalar
processors. Until now, each processor had its own sets of opcodes and
extensions, and previous library-based solutions have either been
inflexible or slow. macstl tries to unify the disparate SIMD architectures
in an straightforward C++ header-only library, while still offering the
full surprising speed of SIMD.
macstl is dual-licensed under the open-source Reciprocal Public LIcense
(RPL) and proprietary Pixelglow Source License (PSL). The project is geared
for open source with an extensible SIMD framework in place for other SIMD
architectures, contributor license and mailing list, Subversion source
control support and a profit-sharing scheme with contributors. Open source
brings many benefits to the project, including greater transparency of code
and faster development turnaround. 0.3.1 is the first version featuring
significant open-source collaboration.
The library has already won rare kudos in the Macintosh development and
high performance computing industries. Holger Bettag, an Altivec enthusiast
and programmer, reports that macstl “offers the nicest way of utilizing
Altivec I know of: access to all the Altivec primitives, good code
generation if you use a recent compiler and a much cleaner and more compact
syntax that the official… interface.” Gaurav Khanna, Assistant Professor
of Physics at the University of Massachusetts at Dartmouth USA, says, “I’m
looking closely into macstl and we are very intrigued and impressed.” Paul
Baxter of QinetiQ, a defense and security company in the UK, summarizes:
“It’s been evident… that you love this stuff and are very good with it.”
Pixelglow Software stands for “simply brilliant stuff” — the software
house that specializes in synthesizing disparate technologies, making
deeply powerful tech simple to use. Pixelglow Software’s flagship product,
the Altivec-optimized SIMD toolkit macstl, is well regarded in numerics,
high-performance and open-source circles since 2003. Their port of Graphviz
to Mac OS X took two prizes in the Apple Design Awards of 2004: Winner for
Best Open Source Product and Runner-Up for Best New Product.