Skip to content

ecrc/quark

Repository files navigation

QUARK README
============

*****************************************************************************
University of Tennessee, Knoxville

     ________   ____ ___  _____ __________ ____  __.
     \_____  \ |    |   \/  _  \\______   \    |/ _|
      /  / \  \|    |   /  /_\  \|       _/      <
     /   \_/.  \    |  /    |    \    |   \    |  \
     \_____\ \_/______/\____|__  /____|_  /____|__ \
            \__>               \/       \/        \/

QUeueing And Runtime for Kernels

http://icl.cs.utk.edu/quark/
*****************************************************************************

Purpose of QUARK
----------------

QUARK (QUeuing And Runtime for Kernels) provides a library that
enables the dynamic execution of tasks with data dependencies in a
multi-core, multi-socket, shared-memory environment.  QUARK infers
data dependencies and precedence constraints between tasks from the
way that the data is used, and then executes the tasks in an
asynchronous, dynamic fashion in order to achieve a high utilization
of the available resources.
 
QUARK is designed to be easy to use and it is intended to scale to
large numbers of cores.  It should enable the efficient expression and
implementation of complex algorithms.  The driving application behind
the development of QUARK is the PLASMA linear algebra library, and the
QUARK runtime contains several optimizations inspired by the
algorithms in PLASMA.


Where to Find More Information
------------------------------

More information about QUARK can be found at the Innovative Computing
Lab website:
http://icl.cs.utk.edu/quark/


License Information
-------------------

QUARK is a software package provided by University of Tennessee.
QUARK's license is a BSD-style permissive free software license
(properly called modified BSD).  It allows proprietary commercial use,
and for the software released under the license to be incorporated
into proprietary commercial products.  Works based on the material may
be released under a proprietary license as long as QUARK's license
requirements are maintained, as stated in the LICENSE file, located in
the main directory of the QUARK distribution.  In contrast to copyleft
licenses, like the GNU General Public License, QUARK's license allows
for copies and derivatives of the source code to be made available on
terms more restrictive than those of the original license.

Publications
------------

One convenient way to make a reference to QUARK is to cite
http://icl.cs.utk.edu/projectsfiles/quark/pdf/users_guide.pdf[QUARK Users' Guide, Version 1.0],

It is available as a University of Tennessee Innovative Computing
Laboratory Technical Report UT-ICL-11-02 at
http://icl.cs.utk.edu/projectsfiles/quark/pdf/users_guide.pdf[Technical Report UT-ICL-11-02].  

The following BibTeX entry can be used for LaTeX documents:

--------------------------
@TECHREPORT{quark_users_guide,
    author       = {{YarKhan}, Asim and {Kurzak}, Jakub and {Dongarra}, Jack},
    title        = {{QUARK} Users' Guide: Queuing And Runtime for Kernels, Version 1.0},
    institution  = {University of Tennessee Innovative Computing Laboratory},
    year         = {2011},
    type         = {technical report},
    number       = {UT-ICL-11-02},
    address      = {Knoxville, Tennessee 37996},
    month        = {April}
}
--------------------------

Funding
-------

QUARK is funded in part by the National Science Foundation, Department
of Energy, Microsoft, and the MathWorks.


Software changes:
---------------------
This software is copy of quark from http://icl.cs.utk.edu/plasma/custom/index.html?lid=124&slid=232 with 
some slight changes in the header file to expose some private functions:
intptr_t QUARK_Task_Flag_Get( Quark *quark, int flag );

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages