Git Product home page Git Product logo

magma-boba's Introduction

===================
MAGMA README FILE
===================

--------------------------------------------------------------------------------
* Quick start (make)

    Create a make.inc file to indicate your C/C++ compiler, Fortran compiler,
    and where CUDA, HIP, CPU BLAS, and LAPACK are installed on your system.
    Examples are given in the make.inc-examples directory for various
    libraries and operating systems. The examples rely on paths such as $CUDADIR, $ROCM_PATH,
    and $MKLROOT being set in your environment. There are some examples in `make.inc-examples`

    To compile shared and static libraries in lib, and testers in testing and
    sparse/testing:
        make
    or:
        make lib
        make testing
        make sparse-lib
        make sparse-testing
        make install prefix=/usr/local/magma

    MAGMA uses HIP code generation to compile for AMD GPUs.  MAGMA HIP sources will be
    generated from interface_cuda, magmablas, and sparse into interface_hip, magmablas_hip, 
    and sparse_hip, respectively.

* Quick start (CMake)

    There is also a CMake option to configure and build MAGMA.
    For more Windows-specific instructions, see README-Windows.
    On Unix & MacOS:

    Step 0: setup
    If you downloaded an official release (e.g., magma-2.6.0.tar.gz), you can
    skip this step.
    If you checked out MAGMA from bitbucket, you first need to generate all
    the precisions. Currently this is done only by the Makefile, not by CMake.
    Using a minimal make.inc configuration (with BACKEND=hip or cuda), e.g.,
        echo -e 'BACKEND = hip\nFORT = true' > make.inc
        make generate
    That should run `python tools/codegen.py` on all the src files and
    create CMake.src.{hip|cuda}

    Step 1: compile
        mkdir build
        cd build
        rm -rf *            # to clear any cached CMake configuration
        cmake [options] ..  # or ccmake ..
    then:
        make
    or:
        make lib
        make testing
        make sparse-lib
        make sparse-testing
        make install

    Options include:
        -DMAGMA_ENABLE_CUDA=ON to install MAGMA for CUDA. This is default. 
        -DMAGMA_ENABLE_HIP=ON to install MAGMA for HIP. This option requires 
            to specify the hipcc compiler, e.g.,
            cmake -DMAGMA_ENABLE_HIP=ON -DCMAKE_CXX_COMPILER=hipcc ..

        -DCMAKE_INSTALL_PREFIX=/path/to/magma, directory to install MAGMA's
            headers and libraries, default /usr/local/magma.

        -DGPU_TARGET='target', where target includes one or more of:
            Kepler, Maxwell, Pascal, Volta, Turing, Ampere
            or valid sm_[0-9][0-9] for NVIDIA GPUs.
            For AMD GPUs include one or more valid GPU gfx numbers
            (https://llvm.org/docs/AMDGPUUsage.html#target-triples). 

        -DBLA_VENDOR=vendor, where vendor is one of:
            Intel10_64lp, Intel10_64lp_seq, Intel10_64ilp, Intel10_64ilp_seq,
            Intel10_32, OpenBLAS, FLAME, ACML, Apple, NAS, Generic.
            See https://cmake.org/cmake/help/latest/module/FindLAPACK.html
                https://cmake.org/cmake/help/latest/module/FindBLAS.html

        -DLAPACK_LIBRARIES='libs', where libs is the libraries to link with for
            BLAS and LAPACK, e.g., -DLAPACK_LIBRARIES='-llapack -lblas'.
            This overrides CMake's BLAS/LAPACK search.

        -DBUILD_SHARED_LIBS=[on|off], to turn on/off shared libraries.

        -DUSE_FORTRAN=[on|off], to turn on/off Fortran.

        -DFORTRAN_CONVENTION=flag, when USE_FORTRAN=off, where flag is one of:
            -DADD_, -DNOCHANGE, -DUPCASE
            for whether a Fortran routine such as "dgemm" is called
            dgemm_, dgemm, or DGEMM, respectively, in the BLAS/LAPACK library.
            ADD_ is most common.

* Detailed installation instructions and further documentation is provided in
    docs/html/index.html
    or
    http://icl.utk.edu/projectsfiles/magma/doxygen/

--------------------------------------------------------------------------------
* Forum

    For more information, please refer to the MAGMA homepage and user forum:

        http://icl.utk.edu/magma/
        https://groups.google.com/a/icl.utk.edu/g/magma-user

    The MAGMA project supports the package in the sense that reports of
    errors or poor performance will gain immediate attention from the
    developers. Such reports, descriptions of interesting applications,
    and other comments should be posted on the MAGMA user forum.

magma-boba's People

Contributors

abdelfattah83 avatar acxz avatar amathews-amd avatar cadebrown avatar carterbox avatar dbonner avatar dllehr-amd avatar drfike avatar edponce avatar evhunter avatar g-ragghianti avatar haidarazzam avatar hartwiganzt avatar janbernloehr avatar jithunnair-amd avatar ltaiefhatem avatar luszczek avatar mfaverge avatar mgates3 avatar pruthvistony avatar rasolca avatar soumith avatar stomov avatar tiagocampo avatar upsj avatar weifengliu-ssslab avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.