lixiangnlp / magma Goto Github PK
View Code? Open in Web Editor NEWThis project forked from maxhutch/magma
Fork of magma to include more BLAS
License: Other
This project forked from maxhutch/magma
Fork of magma to include more BLAS
License: Other
================== MAGMA README FILE ================== * Further documentation is provided in docs/html/index.html. * To INSTALL MAGMA, modify the make.inc file to indicate where CUDA, CPU BLAS, and LAPACK are installed on your system. Examples are given in make.inc.mkl-*, make.inc.acml, make.inc.atlas, and make.inc.macos showing how to link to MKL, ACML, ATLAS, and MacOS veclib BLAS, respectively. The make.inc files assume $CUDADIR is set in your environment. For bash (sh), put in ~/.bashrc (with your system's path): export CUDADIR=/usr/loca/cuda For csh/tcsh, put in ~/.cshrc: setenv CUDADIR /usr/local/cuda The MKL make.inc files assume $MKLROOT is set in your environment. For bash (sh), put in ~/.bashrc (with your system's path): source /opt/intel/composerxe/mkl/bin/mklvars.sh intel64 For csh/tcsh, put in ~/.cshrc: source /opt/intel/composerxe/mkl/bin/mklvars.csh intel64 The ACML make.inc file assumes $ACMLDIR and $CBLASDIR are set in your environment. If not installed, install CBLAS from http://www.netlib.org/blas/ For bash (sh), put in ~/.bashrc (with your system's path): export ACMLDIR=/opt/acml-4.4.0/gfortran64_mp export CBLASDIR=/opt/CBLAS For csh/tcsh, put in ~/.cshrc: setenv ACMLDIR /opt/acml-4.4.0/gfortran64_mp setenv CBLASDIR /opt/CBLAS The ATLAS make.inc file assumes $ATLASDIR and $LAPACKDIR are set in your environment. If not installed, install LAPACK from http://www.netlib.org/lapack/ For bash (sh), put in ~/.bashrc (with your system's path): export ATLASDIR=/opt/atlas export LAPACKDIR=/opt/LAPACK For csh/tcsh, put in ~/.cshrc: setenv ATLASDIR /opt/atlas setenv LAPACKDIR /opt/LAPACK Creating a shared library requires adding the -fPIC option in make.inc to CFLAGS, FFLAGS, F90FLAGS, and NVCCFLAGS. This is demonstrated in make.inc.mkl-shared. After proper modification of the make.inc file, running: make will create libmagma.a in 'lib' and testing drivers in 'testing'. With the appropriate -fPIC options in make.inc, running: make shared make testing will create both libmagma.a and libmagma.so, and the testers. To install libraries and include files in a given prefix, run: make install prefix=/usr/local/magma The default prefix is /usr/local/magma. You can also set prefix in make.inc. For multi-GPU functions, set $MAGMA_NUM_GPUS to set the number of GPUs to use. For multi-core BLAS libraries, set $OMP_NUM_THREADS or $MKL_NUM_THREADS or $VECLIB_MAXIMUM_THREADS to set the number of CPU threads, depending on your BLAS library. * A short standalone EXAMPLE is provided in directory 'example'. This is intended to show the minimum needed to start using MAGMA, without all the extra Makefiles, headers, and libraries used in testing. You must edit example/Makefile to reflect your make.inc, or use pkg-config, as described in example/README.txt. * To TEST MAGMA, go to directory 'testing'. Provided are a number of drivers testing different routines. These drivers are also useful as examples on how to use MAGMA, as well as to benchmark the performance. The testers print "ok" or "failed" for whether the error passes the tolerance. In some cases, the tolerance may be too strict, so a test may "fail" even though it is only slightly above the tolerance. Error values around 1e-15 for double and double-complex, and 1e-7 for single and single-complex, are generally acceptable. Values larger than 1e-4 are very suspicious. * To TUNE MAGMA, you can modify the blocking factors for the algorithms of interest in file 'control/get_nb.cpp'. The default values are tuned for general Tesla (1.x), Fermi (2.x), and Kepler (3.x) GPUs. If you have a Fermi (C2050), you can also compare your performance to what we get, given in file 'testing/results_fermi.txt', as an easy check for your installation. * To RUN EXPERIMENTAL MAGMA, go to directory 'exp' and type 'make'. Then type 'export MKL_NUM_THREADS=1'. Next go to directory 'testing'. Provided are drivers testing multi-core Choleskey, QR, and LU; and single GPU all, available CPU cores QR. Typing a given driver name will result in clear instructions on what to provide on the command line. Note that on some systems the experimental code must be linked against sequential MKL. If you notice excessively poor performance, change make.inc to link against sequential MKL. For more INFORMATION, please refer to the MAGMA homepage and user forum: http://icl.cs.utk.edu/magma/ http://icl.cs.utk.edu/magma/forum/ 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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.