miaoyipu / QUICK-1

QUICK is a GPU-enabled ab intio quantum chemistry software package

Home Page:http://www.merzgroup.org/quick.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

!************************************************************************
!                              QUICK                                   **
!                                                                      **
!                        Copyright (c) 2019                            **
!                Regents of the University of Florida                  **
!                       All Rights Reserved.                           **
!                                                                      **
!  This software provided pursuant to a license agreement containing   **
!  restrictions on its disclosure, duplication, and use. This software **
!  contains confidential and proprietary information, and may not be   **
!  extracted or distributed, in whole or in part, for any purpose      **
!  whatsoever, without the express written permission of the authors.  **
!  This notice, and the associated author list, must be attached to    **
!  all copies, or extracts, of this software. Any additional           **
!  restrictions set forth in the license agreement also apply to this  **
!  software.                                                           **
!************************************************************************
!
!  Cite this work as:
!  Manathunga, M.; Mu, D.; Miao,Y.; He, X.; Ayers,K; Brothers, E.; Götz, A.; Merz,K. M. QUICK
!  University of Florida, Gainesville, FL, 2019 and Michigan State University, East Lansing, MI, 2019
!
!
!  If you want to use the GPU version, please cite:
!  Miao, Y., Merz, K. M. (2013) Acceleration of Electron Repulsion Integral Evaluation on Graphics Processing Units 
!     via Use of Recurrence Relations Journal of Chemical Theory and Computation 9, 965–976.
! 
!  Tech support: quick.merzlab@gmail.com
!************************************************************************


1. INSTALLATION 

1.1 SINGLE CPU INSTALLATION 
You can use gnu or intel compilers for this purpose. Go to QUICK main folder and run the following commands. 
If you are using gnu compiler (version 4.6 or later)

	cp ./makein/make.in.gnu ./make.in
	
If you are using intel compiler (version 2011 or later)

	cp ./makein/make.in.intel ./make.in

Then, run the following command. 

        make quick
     
This will compile a single CPU version of quick. 

1.2 MPI INSTALLATION
If you have intel mpi (version 2011 or later) installed, you can compile the MPI version by running following commands 
from quick main folder. 

	cp ./makein/make.in.MPI ./make.in
	
	make quick.MPI

1.3 CUDA VERSION INSTALLATION
If you want to install the GPU version, NVIDIA CUDA COMPILER is required. You may check your CUDA compiler version using 
'nvcc --version'. 
a) Run the following command.

	cp ./makein/make.in.gnu.cuda ./make.in

b) Open up the make.in file and set CUDA_HOME. This is essential to link or compile CUBLAS and other libraries.

	CUDA_HOME=(your cuda home) 

c) You may have to change the "-gencode arch=compute_70,code=sm_70" options in CUDA_FLAGS 
variable depending on the type of your GPU. The default value (70) is for a Volta gpu. Use 30, 50, 60 and 75 for Kepler,
Maxwell, Pascal and Turing GPUs respectively. 

	-gencode arch=compute_(your gpu),code=sm_(your gpu)

d) Then run
     
     make quick.cuda

in ./bin directory, you can find executable files. 


2. TEST

Run testqk.sh script from the quick main folder. Depending on your installation, you might want to change the qexe variable
value in line 12. The default ("quick.cuda") is for the gpu version. To test single cpu and MPI installations, change it to 
"quick" and "quick.MPI" respectively.   


3. USAGE

We suggust you to put the following into your PATH. Edit ~/.bashrc, then add this line

        export PATH=(YOUR QUICK DIR)/bin:$PATH

and add basis set path
	
	export QUICK_BASIS=(YOUR QUICK DIR)/basis

where (YOUR QUICK DIR) is your QUICK installation directory.

The basic principal of QUICK is that the simpler the better. So in the input file, the first line is calculation
card. For example
    HF ncyc=3 energy BASIS=6-31gs denserms=1.0e-7
This means HF calculation is required and after 3 cycles, we calculate the difference of Fock matrix. The basis set is 
6-31g** and the convergence criteria is 1.0E-7. If you don't know anything about quantum chemistry, this card is 
recommended.

After the first line, you should specify the information related to molecular geometry in the following format. 

C           4.5916       2.6127       4.3145
H           6.8049       4.5138      -2.5775
H           8.3134       7.7325      -1.0688
H           4.3547       2.9911       3.3201
H           4.5176       3.5187       3.7129

Each line specifies the element and x,y,z coordinates respectively.  

If you save this example as mol.in and run

      quick mol.in

or GPU version
      
      quick.cuda mol.in

you should get mol.out output file. You can find more examples in the benchmarks folder. 


4. CLEANING UP

To completely clean up a quick installation, run the following command from quick main directory.

	make clean


5. SPECIAL NOTE ON THE GPU VERSION 

Currently, QUICK supports CUDA version 4.6 and later. We have tested QUICK on GTX580, M2090, K20, K40, K80, P100, 
V100 and Titan V. Our program is still in the experimental stage and we cannot guarantee that it is flawless.
If you have any questions, please feel free to contact us.

About

QUICK is a GPU-enabled ab intio quantum chemistry software package

http://www.merzgroup.org/quick.html


Languages

Language:C 42.6%Language:Fortran 24.5%Language:C++ 15.3%Language:Visual Basic 10.9%Language:Cuda 6.4%Language:Makefile 0.2%Language:Perl 0.0%Language:Shell 0.0%Language:Gnuplot 0.0%Language:SourcePawn 0.0%