Hitmap 1.3
 All Data Structures Namespaces Files Functions Variables Typedefs Friends Macros Groups Pages
Hitmap 1.3 Documentation

Hitmap is a highly-efficient library for hierarchical tiling and mapping of arrays. It is designed to be used with an SPMD (Single Process, Multiple Data) parallel programming language and it aims to simplify parallel programming, providing functionalities to create, manipulate, distribute, and communicate tiles and hierarchies of tiles.

Hitmap library supports functionalities to:

Architecture

Hitmap is designed with an object-oriented approach, although it is implemented in C language. Each data structure is provided with a set of functions that work as class methods. The library functionalities can be classified in three sets or modules:

External Libraries

Hitmap uses two external libraries related to the management of sparse data structures. These libraries are open source code, and the versions tested with the library are included with the Hitmap software package.

Application examples

Hitmap library has been tested with several example applications and benchmarks used for experimentation and publication. They include linear algebra aplications, stencil codes, a couple of examples of the NAS Parallel Benchamarks, sorting algorithms, sparse matrix programs, physical systems simulations using graphs, etc.

They are described in the Application examples page.

Publications

The Hitmap library started as a research prototype in the context of the Trasgo framework project around 2005. In 2007 it took the form of an independent library and since then it has been evolving and being used for research purposes.

There are several research publications related to the Hitmap library, its development, use, advantages, performance, and comparisons with other related works.

Todo:
Link to the Trasgo publications page, and full citation of the most relevant publications

Hitmap license

<license>

Hitmap v1.2

This software is provided to enhance knowledge and encourage progress in the scientific community. It should be used only for research and educational purposes. Any reproduction or use for commercial purpose, public redistribution, in source or binary forms, with or without modifications, is NOT ALLOWED without the previous authorization of the copyright holder. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software for any purpose (e.g. publication), a reference to the software package and the authors must be included.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Copyright (c) 2007-2015, Trasgo Group, Universidad de Valladolid. All rights reserved.

More information on http://trasgo.infor.uva.es/

</license>