FastFlow is a pattern-based programming framework targeting streaming applications. It implements pipeline, farm, divide and conquer, and their composition, as well as generic streaming networks. It is specifically designed to support the development and the seamless porting of existing applications on multi-core. The layered template-based C++ design ensures flexibility and extendibility. Its lock-free/fence-free run-time support minimizes cache invalidation traffic and enforces the development of high-performance (high-throughput, low-latency) scalable applications. It has been proven faster than TBB, OpenMP, and Cilk on several micro-benchmarcks and real-world applications, especially when dealing with fine-grained parallelism and high-throughput applications.
libposix is an impementation of the core functionality of all Unix systems. It is a full, cross-platform implementation of the POSIX 2008 standard. It is meant to replace existing implementations of a Unix system's core libraries. It is an exact implementation of POSIX 2008 and nothing else (no extensions, no previous POSIX versions). However, it works well with possible extensions to the core system functionallity (for example, GNU or BSD).
libCVD is a very portable and high performance C++ library for computer vision, image, and video processing. The emphasis is on providing simple and efficient image and video handling and high quality implementations of common low-level image processing function. The library is designed in a loosely-coupled manner, so that parts can be used easily in isolation if the whole library is not required. The video grabbing module provides a simple, uniform interface for videos from a variety of sources (live and recorded) and allows easy access to the raw pixel data. Likewise, the image loading/saving module provides simple, uniform interfaces for loading and saving images from bitmaps to 64 bit per channel RGBA images. The image processing routines can be applied easily to images and video, and accelerated versions exist for platforms supporting SSE.
The dyncall library project provides a clean and portable C interface to dynamically issue foreign function calls using small call kernels written in assembly. Instead of providing code for every bridged function call, which unnecessarily results in code bloat, only a modest number of instructions are used to invoke all calls.
ADTPro transfers disks to and from Apple II and Apple /// computers and the modern world using any of these communications methods: serial/USB, UDP via the Uthernet or LANceGS Ethernet cards, or audio via the Apple's cassette ports. ADTPro has comprehensive bootstrapping support for otherwise diskless Apple IIs. The home page includes extensive tutorials for getting started.
cpuinfo consists of an API/library used by programs to get information about the underlying CPU. Such information includes CPU vendor, model name, cache hierarchy, and supported features (e.g. CMP, SMT, and SIMD). cpuinfo is also a standalone program to demonstrate the use of this API.
The HLA Standard Library was developed to support the High Level Assembler (HLA), but could be used with other assemblers or higher-level languages if the necessary headers were developed. It supports 32-bit versions of Windows, Linux, Mac OS X, and FreeBSD, and is written entirely in HLA. It includes the following modules: args, arrays, bits, chars, console, conversions, cset, date, environment, exceptions, file class, file I/O, filesys, lists, math, memory-mapped files, patterns, RNG, stderr, stdin, stdout, strings, tables, time, timer, zstrings, sockets, threads, and blob. An automated test suite is included.
HAVEGE (HArdware Volatile Entropy Gathering and Expansion) is a user-level software unpredictable random number generator for general-purpose computers that exploits modifications of the internal volatile hardware states as a source of uncertainty. It combines on-the-fly hardware volatile entropy gathering with pseudo-random number generation. The internal state includes thousands of internal volatile hardware states and is merely unmonitorable. It can support several hundreds of megabits per second on current workstations and PCs.