some more work towards DKS/GPU integration
This commit is contained in:
@ -79,17 +79,38 @@ PFitterFcnDKS::~PFitterFcnDKS()
|
||||
*/
|
||||
Double_t PFitterFcnDKS::operator()(const std::vector<Double_t>& par) const
|
||||
{
|
||||
Double_t value = 0.0;
|
||||
Double_t value = 0.0, chisq = 0.0;
|
||||
|
||||
// write parameter to GPU
|
||||
Int_t ierr = fDKS.writeParams(&par[0], par.size());
|
||||
|
||||
// loop over all data sets
|
||||
PSingleHistoParams shp;
|
||||
for (UInt_t i=0; i<fRunListCollection->GetNoOfSingleHisto(); i++) {
|
||||
// get current values of N0, Nbkg, tau, the functions, and the maps
|
||||
ierr = fRunListCollection->GetSingleHistoParams(i, par, shp);
|
||||
// set N0, Nbkg
|
||||
ierr += fDKS.callSetConsts(shp.fN0, shp.fTau, shp.fNbkg);
|
||||
|
||||
// set fun values
|
||||
ierr += fDKS.writeFunctions(&shp.fFun[0], shp.fFun.size());
|
||||
|
||||
// set map values
|
||||
ierr += fDKS.writeMaps(&shp.fMap[0], shp.fMap.size());
|
||||
|
||||
// calc chisq/log-mlh
|
||||
/*
|
||||
chisq = 0.0;
|
||||
ierr += fDKS.callLauchChiSquare(fMemData[i], fMemData[i], fData.size(),
|
||||
par.size(), shp.fFun.size(), shp.fMap.size(),
|
||||
dt0 , dt, 0, chisq);
|
||||
value += chisq;
|
||||
*/
|
||||
if (ierr != 0) {
|
||||
cerr << "PFitterFcnDKS::operator(): **ERROR** Kernel launch failed!" << endl;
|
||||
exit (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return value;
|
||||
@ -230,14 +251,6 @@ void PFitterFcnDKS::InitDKS(const UInt_t dksTag)
|
||||
return;
|
||||
}
|
||||
|
||||
// keep the N0 and Nbkg for each data set
|
||||
fNidx.resize(fRunListCollection->GetNoOfSingleHisto());
|
||||
for (UInt_t i=0; i<fRunListCollection->GetNoOfSingleHisto(); i++) {
|
||||
fNidx[i].fN0 = fRunListCollection->GetN0Idx(i);
|
||||
fNidx[i].fNbkg = fRunListCollection->GetNbkgIdx(i);
|
||||
cout << "debug> runNo=" << i << ", N0 idx=" << fNidx[i].fN0 << ", Nbkg idx=" << fNidx[i].fNbkg << endl;
|
||||
}
|
||||
|
||||
// checks device properties if openCL
|
||||
ierr = fDKS.checkMuSRKernels();
|
||||
if (ierr != 0) {
|
||||
|
Reference in New Issue
Block a user