AmpTools
GPUKernel.h
Go to the documentation of this file.
1 //******************************************************************************
2 // This file is part of AmpTools, a package for performing Amplitude Analysis
3 //
4 // Copyright Trustees of Indiana University 2010, all rights reserved
5 //
6 // This software written by Matthew Shepherd, Ryan Mitchell, and
7 // Hrayr Matevosyan at Indiana University, Bloomington
8 //
9 // Redistribution and use in source and binary forms, with or without
10 // modification, are permitted provided that the following conditions
11 // are met:
12 // 1. Redistributions of source code must retain the above copyright
13 // notice and author attribution, this list of conditions and the
14 // following disclaimer.
15 // 2. Redistributions in binary form must reproduce the above copyright
16 // notice and author attribution, this list of conditions and the
17 // following disclaimer in the documentation and/or other materials
18 // provided with the distribution.
19 // 3. Neither the name of the University nor the names of its contributors
20 // may be used to endorse or promote products derived from this software
21 // without specific prior written permission.
22 //
23 // Creation of derivative forms of this software for commercial
24 // utilization may be subject to restriction; written permission may be
25 // obtained from the Trustees of Indiana University.
26 //
27 // INDIANA UNIVERSITY AND THE AUTHORS MAKE NO REPRESENTATIONS OR WARRANTIES,
28 // EXPRESS OR IMPLIED. By way of example, but not limitation, INDIANA
29 // UNIVERSITY MAKES NO REPRESENTATIONS OR WARRANTIES OF MERCANTABILITY OR
30 // FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THIS SOFTWARE OR
31 // DOCUMENTATION WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS,
32 // OR OTHER RIGHTS. Neither Indiana University nor the authors shall be
33 // held liable for any liability with respect to any claim by the user or
34 // any other party arising from use of the program.
35 //******************************************************************************
36 
37 #ifndef __GPU_KERNEL__H__
38 #define __GPU_KERNEL__H__
39 
40 #include "GPUCustomTypes.h"
41 
42 extern "C" void GPU_ExecAmpKernel(dim3 dimGrid,dim3 dimBlock,GDouble* pfDevAmps,
43  GDouble* pfDevVVStar, GDouble* pfDevWeights,
44  int nAmps, int nEvents, GDouble* pfDevRes);
45 
46 extern "C" void GPU_ExecFactPermKernel( dim3 dimGrid, dim3 dimBlock,
47  GDouble* pfDevAmps, GDouble* pcDevCalcAmp,
48  int nFact, int nPerm, int nEvents );
49 
50 extern "C" void GPU_ExecIntElementKernel(dim3 dimGrid, dim3 dimBlock, int iA, int iB,
51  GDouble* pfDevAmps, GDouble* pfDevWeights,
52  GDouble* pfDevResRe, GDouble* pfDevResIm,
53  int nEvents);
54 
55 #endif //__GPU_KERNEL__H__
void GPU_ExecIntElementKernel(dim3 dimGrid, dim3 dimBlock, int iA, int iB, GDouble *pfDevAmps, GDouble *pfDevWeights, GDouble *pfDevResRe, GDouble *pfDevResIm, int nEvents)
double GDouble
void GPU_ExecAmpKernel(dim3 dimGrid, dim3 dimBlock, GDouble *pfDevAmps, GDouble *pfDevVVStar, GDouble *pfDevWeights, int nAmps, int nEvents, GDouble *pfDevRes)
void GPU_ExecFactPermKernel(dim3 dimGrid, dim3 dimBlock, GDouble *pfDevAmps, GDouble *pcDevCalcAmp, int nFact, int nPerm, int nEvents)