Pixelglow Software launches macstl 0.3
PERTH, Western Australia — Jun 29, 2005 — Pixelglow Software today
launched a new version of their flagship library, macstl 0.3. 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. Highlights of this version: Mac OS X Tiger (Universal Binaries) and
Yellow Dog Linux support, “macstlizer” technology to ease the transition
from PowerPC to Intel for SIMD programmers, and new min, max, select and
rsqrt functions.
macstl requires Mac OS X 10.3 or 10.4, Windows 2000, XP or Server 2003, or
Yellow Dog Linux. 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/)http://www.pixelglow.com/macstl/
Download:
(http://www.pixelglow.com/macstl/download/)http://www.pixelglow.com/macstl/download/
Email: macstl at pixelglow dot com.
Help for the Apple Intel Transition
Apple Computer recently announced it will be transitioning all Macintosh
computers to Intel CPUs by 2007. The announcement hits Altivec developers
hardest since Apple’s dynamic translation service, Rosetta, cannot
automatically run their Altivec code. It is also difficult to port PowerPC
Altivec code to Intel SSE because of the wildly different instruction sets
and type support. Developers are faced with coordinating separate, fully
performant, SIMD code bases for 2 or more years, and calling external
libraries like Apple’s vAccelerate may not satisfy developers who demand
pedal-to-the-metal performance.
We want to help.
“macstlizer” has a script that automatically converts your Altivec C code
into macstl C++ code, and a header that translates common Altivec
operations into their equivalent SSE operations. The compiler then
highlights the Altivec operations that have no equivalent, allowing you to
focus quickly on the ones that need custom porting and maintaining a single
source code base, without slow library calls. In philosophy, it’s more a
Carbon than a Rosetta or PearPC.
We are also offering a special deal on Redistributable Licenses. The first
10 qualifying organizations may purchase a Redistributable License for only
$499 before September 6, 2005 — exactly 3 months after “the day hell froze
over” in WWDC 2005. This is a huge 80% discount for you, on two simple
conditions:
1. You must have 10 or less staff.
2. You are already shipping a Mac OS X product that incorporates Altivec
code, before September 6.
List of New Features
The new features include:
– Added support for Apple gcc 4.0 on Mac OS X 10.4.
– Added support for FSF gcc 3.4 on Yellow Dog Linux [MLe*].
– Improved vec design and performance.
– Added support for Xcode 2.1 and Universal Binaries (Intel/PowerPC).
– Added differently typed arguments for vec and valarray functions.
– Added select function for vec and valarray [JTe].
– Fixed undefined __bool and test template template parameters for Codewarrior.
– Added macstlizer script and header; added SSE2 integer shift intrinsics.
– Improved macstlizer script; added vec (pixel, 8) for Altivec, SSE/SSE2
memory intrinsics.
– Added binary min and max for valarray [ILi].
– Fixed vector cast error in template static member functions for Apple gcc
3.3 on Mac OS X 10.3.
– Added rsqrt function for vec and valarray; added optimizations for
valarray expressions: v1 / sqrt (v2) and v1 / sqrt (v2) + v3 [ABr].
– Fixed missing #include in macstlizer script.
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 performance 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
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.”
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.
—
pixelglow software | simply brilliant stuff
www.pixelglow.com
aim: pixglen