Existing users, log in.  New users, create a free account.  Lost password?

Mac OS X  |  Web & Software Development  |  Other Developer Tools  |  macstl

macstl

macstl - 0.3.1

C++ library for platform-independent SIMD programming

All Time: Not rated (0.0)
This Version: Not rated (0.0)
Current Version: 0.3.1
Release Date: 2005-09-06
License: Update
Downloads (this version): 1,270
Downloads (all versions): 2,683
Price: $99.00

Information Related to Version:

Broken Link? Newer Version? Tell us!

Product Description:

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.

The cornerstone is a fast valarray optimized for SIMD: it runs 3.6x to 16.2x faster than hand-coded scalar loops on hardware from PowerPC G5 to Pentium 4. Developers unfamiliar with SIMD can write to a portable, intuitive and standard component.


The Mach copy-on-write vector is a partial specialization of std::vector for the Mach allocator. It neatly uses the OS vm_copy facility to "get around" thread safety issues when doing copy-on-write and reference counting. As a result, std::vector can be copied, passed back by value and enlarged without the same overheads.


macstl also has adapters for Core Foundation classes to STL containers -- use your favorite STL algorithm on a CF class or store a C++ object in a CF array.

What's new in this version:

  • 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.

Operating System Requirements:

This product is designed to run on the following operating systems:

  • Mac OS X 10.4 PPC
  • Mac OS X 10.3.9
  • Mac OS X 10.3

Additional Requirements:

  • Mac OS X 10.3 or better; Windows 2000, XP or Server 2003 or better; Linux PPC or x86; Cygwin 1.5 or better.
  • Xcode 1.5 + gcc 3.3, Xcode 2.1 + gcc 4.0, Codewarrior 9.3, Visual C++ .NET 2003, Intel ICC 8.1 or better, FSF gcc 3.4 or better.

Screenshots:

Download Links:

Your Installed Versions:


 

Feedback Summary:

This Version:
Overall Rating: Not rated (0.0) Features: Not rated (0.0) Support: Not rated (0.0)
Ease of Use: Not rated (0.0) Quality / Stability: Not rated (0.0) Price: Not rated (0.0)
Add Your Feedback

Key to Types of Feedback:

ReviewsReviews   TroubleshootingTroubleshooting   Usage TipsUsage Tips   Developer NotesDeveloper Notes   CommentaryCommentary   Featured ReviewsFeatured Reviews

macstl CommentaryNot that great - Version: 0.3.1, 9/6/2005 07:03PM PST

Jillian232
I mean, it's a complex library, but come on...
Post a commentAlert Admin

macstl Troubleshooting Report10.2 and PB - Version: 0.1.5, 2/25/2004 06:54AM PST

(1 of 1 users found this comment useful)

NCG_Mike
Out of the box, it doesn't work with PB on 10.2. The compilers are hard coded into the project (see Target -> Settings -> Expert View) to use GCC 3.3. Default for 10.2 is GCC 3.1.

Compiling also generated a lot of warnings:

internal/valarray_indirect.h:219: warning: Invalid skip header index count.
internal/valarray_indirect.h:219: warning: Indexing information is not generated properly.

Having fixed these, it compiled and ran the tests just fine.
Post a commentAlert Admin