add option to select gpu library in hlt tpc tracker component
authordrohr <drohr@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 26 Oct 2013 16:06:30 +0000 (16:06 +0000)
committerdrohr <drohr@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 26 Oct 2013 16:06:30 +0000 (16:06 +0000)
HLT/TPCLib/tracking-ca/AliHLTTPCCATrackerComponent.cxx
HLT/TPCLib/tracking-ca/AliHLTTPCCATrackerComponent.h
HLT/TPCLib/tracking-ca/AliHLTTPCCATrackerFramework.cxx
HLT/TPCLib/tracking-ca/AliHLTTPCCATrackerFramework.h

index 73c764b..7bb77fd 100644 (file)
@@ -71,7 +71,8 @@ ClassImp( AliHLTTPCCATrackerComponent )
   fAllowGPU( 0),
   fGPUHelperThreads(-1),
   fCPUTrackers(0),
-  fGlobalTracking(0)
+  fGlobalTracking(0),
+  fGPULibrary("")
 {
   // see header file for class documentation
   // or
@@ -101,7 +102,8 @@ AliHLTProcessor(),
   fAllowGPU( 0),
   fGPUHelperThreads(-1),
   fCPUTrackers(0),
-  fGlobalTracking(0)
+  fGlobalTracking(0),
+  fGPULibrary("")
 {
   // see header file for class documentation
   for( int i=0; i<fgkNSlices; i++ ){
@@ -275,7 +277,13 @@ int AliHLTTPCCATrackerComponent::ReadConfigurationString(  const char* arguments
       continue;
     }
 
-    HLTError( "Unknown option \"%s\"", argument.Data() );
+    if ( argument.CompareTo( "-GPULibrary" ) == 0 ) {
+      if ( ( bMissingParam = ( ++i >= pTokens->GetEntries() ) ) ) break;
+      fGPULibrary = ( ( TObjString* )pTokens->At( i ) )->GetString();
+      continue;
+    }
+       
+       HLTError( "Unknown option \"%s\"", argument.Data() );
     iResult = -EINVAL;
   }
   delete pTokens;
@@ -420,7 +428,7 @@ int AliHLTTPCCATrackerComponent::DoInit( int argc, const char** argv )
     fMinSlice = 0;
     fSliceCount = fgkNSlices;
     //Create tracker instance and set parameters
-    fTracker = new AliHLTTPCCATrackerFramework(fAllowGPU);
+    fTracker = new AliHLTTPCCATrackerFramework(fAllowGPU, fGPULibrary);
     fClusterData = new AliHLTTPCCAClusterData[fgkNSlices];
     if (fGPUHelperThreads != -1)
     {
index 724c84f..292a57a 100644 (file)
@@ -103,6 +103,7 @@ class AliHLTTPCCATrackerComponent : public AliHLTProcessor
     int fGPUHelperThreads;            // Number of helper threads for GPU tracker, set to -1 to use default number
     int fCPUTrackers;                 //Number of CPU trackers to run in addition to GPU tracker
     bool fGlobalTracking;             //Activate global tracking feature
+       TString fGPULibrary;                      //Name of the library file that provides the GPU tracker object
 
     /** set configuration parameters **/
     void SetDefaultConfiguration();
index e00c47c..2d82fe3 100644 (file)
@@ -215,7 +215,7 @@ int AliHLTTPCCATrackerFramework::InitializeSliceParam(int iSlice, AliHLTTPCCAPar
 #define GPULIBNAME "libAliHLTTPCCAGPU"
 #endif
 
-AliHLTTPCCATrackerFramework::AliHLTTPCCATrackerFramework(int allowGPU, char* GPU_Library) : fGPULibAvailable(false), fGPUTrackerAvailable(false), fUseGPUTracker(false), fGPUDebugLevel(0), fGPUTracker(NULL), fGPULib(NULL), fOutputControl( NULL ), fKeepData(false), fGlobalTracking(false)
+AliHLTTPCCATrackerFramework::AliHLTTPCCATrackerFramework(int allowGPU, const char* GPU_Library) : fGPULibAvailable(false), fGPUTrackerAvailable(false), fUseGPUTracker(false), fGPUDebugLevel(0), fGPUTracker(NULL), fGPULib(NULL), fOutputControl( NULL ), fKeepData(false), fGlobalTracking(false)
 {
        //Constructor
        if (GPU_Library && !GPU_Library[0]) GPU_Library = NULL;
index 608a777..e068de8 100644 (file)
@@ -28,7 +28,7 @@ class AliHLTTPCCATrackerFramework : AliHLTLogging
 #endif
 
 public:
-       AliHLTTPCCATrackerFramework(int allowGPU = 1, char* GPU_Library = NULL);
+       AliHLTTPCCATrackerFramework(int allowGPU = 1, const char* GPU_Library = NULL);
        ~AliHLTTPCCATrackerFramework();
 
        int InitGPU(int sliceCount = 1, int forceDeviceID = -1);