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 73c764bd7aa564516b65dbc2d17f3bc85ff4c44e..7bb77fde66908e5d27cdf4c270fa38383af9b442 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 724c84f828b97fd0ca1b42ce6518c889908afdee..292a57a7bb499f3a38de67982b9d31e312e5ab7f 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 e00c47c1e9e1c80c1758e97baab83babfebbf492..2d82fe33ae48f0e0183db4dfb560f81648a0c6e5 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 608a777d2dc19b805ce74591d77b3eff178cbede..e068de87784ea3273bc7cfb30c6aad60cb085775 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);