PERTH, Western Australia — February 1, 2005 — Pixelglow Software today
launched a major new version of their flagship library, macstl 0.2.
Available now, macstl is a portable SIMD (single instruction multiple data)
toolkit featuring fast transcendental and integer division functions,
complex number arithmetic and cross-platform programming, all in an
easy-to-use syntax. macstl requires Mac OS X 10.3 or Windows 2000, XP or
Server 2003. The library is open-source and free when derived code is
reciprocated, otherwise it is $99 for a Personal license and $499 for a
Email: macstl at pixelglow dot com.
This year may see the SIMD architecture of the PowerPC Altivec achieve
widespread adoption. Apple’s new low-cost Mac Mini, the IBM/Sony Cell
processor and the Microsoft Xbox2 console may all feature the parallel
processing power of Altivec. And of course, SIMD features in the
MMX/SSE/SSE2/SSE3 units of all Intel Pentium 3, Pentium 4 and Pentium M
processors. Yet programming for SIMD largely remains the black art of
assembly language magicians.
macstl tries to unify the disparate SIMD architectures in an
straightforward C++ template library, while still offering 3.6x to 16.2x
the performance of hand-coded scalar loops.
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
will bring many benefits to the project, including greater transparency of
code and faster development turnaround.
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.”
The new features include:
* Added portable SIMD classes: partial support for
MMX/SSE/SSE2/SSE3, standard initialization syntax.
* Added high performant transcendental functions: exp, log, sin,
* Added fused multiply-add optimization for valarrays.
* Added complex number arithmetic.
* Added fast integer division and modulus.
* Added adapters for Core Foundation and Foundation classes for STL.
* Added memory mapped containers.
* Updated 400+ VPERM constants.
* Updated Mach specialized vector.
* Updated COM server implementation.
* Updated and added many more unit tests and benchmarks.
* Changed licensing terms.
* Now supported on Apple Xcode 1.5 + gcc 3.3, Metrowerks CodeWarrior
9.3 and Microsoft Visual C++ .NET 2003.