Skip to content

Commit b71977f

Browse files
committed
GPU: Forward-declare GPUProcessor in GPUMemoryResource
1 parent 7c1375a commit b71977f

File tree

4 files changed

+24
-14
lines changed

4 files changed

+24
-14
lines changed

GPU/GPUTracking/Base/GPUMemoryResource.cxx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,15 @@
1313
/// \author David Rohr
1414

1515
#include "GPUMemoryResource.h"
16+
#include "GPUProcessor.h"
1617
using namespace o2::gpu;
18+
19+
void* GPUMemoryResource::SetPointers(void* ptr) const
20+
{
21+
return (mProcessor->*mSetPointers)(ptr);
22+
}
23+
24+
void* GPUMemoryResource::SetDevicePointers(void* ptr) const
25+
{
26+
return (mProcessor->mLinkedProcessor->*mSetPointers)(ptr);
27+
}

GPU/GPUTracking/Base/GPUMemoryResource.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,14 @@
1616
#define GPUMEMORYRESOURCE_H
1717

1818
#include "GPUCommonDef.h"
19-
#include "GPUProcessor.h"
19+
#ifndef GPUCA_GPUCODE_DEVICE
20+
#include <cstddef>
21+
#endif
2022

2123
namespace o2::gpu
2224
{
2325

26+
class GPUProcessor;
2427
struct GPUMemoryReuse {
2528
enum Type : int32_t {
2629
NONE = 0,
@@ -80,13 +83,10 @@ class GPUMemoryResource
8083
}
8184
GPUMemoryResource(const GPUMemoryResource&) = default;
8285

83-
void* SetPointers(void* ptr)
84-
{
85-
return (mProcessor->*mSetPointers)(ptr);
86-
}
87-
void* SetDevicePointers(void* ptr) { return (mProcessor->mLinkedProcessor->*mSetPointers)(ptr); }
88-
void* Ptr() { return mPtr; }
89-
void* PtrDevice() { return mPtrDevice; }
86+
void* SetPointers(void* ptr) const;
87+
void* SetDevicePointers(void* ptr) const;
88+
void* Ptr() const { return mPtr; }
89+
void* PtrDevice() const { return mPtrDevice; }
9090
size_t Size() const { return mSize; }
9191
const char* Name() const { return mName; }
9292
MemoryType Type() const { return mType; }

GPU/GPUTracking/Base/GPUReconstruction.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -567,7 +567,7 @@ size_t GPUReconstruction::AllocateRegisteredPermanentMemory()
567567
return total;
568568
}
569569

570-
size_t GPUReconstruction::AllocateRegisteredMemoryHelper(GPUMemoryResource* res, void*& ptr, void*& memorypool, void* memorybase, size_t memorysize, void* (GPUMemoryResource::*setPtr)(void*), void*& memorypoolend, const char* device)
570+
size_t GPUReconstruction::AllocateRegisteredMemoryHelper(GPUMemoryResource* res, void*& ptr, void*& memorypool, void* memorybase, size_t memorysize, void* (GPUMemoryResource::*setPtr)(void*) const, void*& memorypoolend, const char* device)
571571
{
572572
if (res->mReuse >= 0) {
573573
ptr = (&ptr == &res->mPtrDevice) ? mMemoryResources[res->mReuse].mPtrDevice : mMemoryResources[res->mReuse].mPtr;

GPU/GPUTracking/Base/GPUReconstruction.h

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,9 @@
3030
#include "GPUDataTypes.h"
3131
#include "GPUMemoryResource.h"
3232
#include "GPUOutputControl.h"
33-
34-
/*#include "GPUParam.h"
35-
#include "GPUSettings.h"
36-
#include "GPULogging.h"*/
33+
#include "GPUParam.h"
34+
#include "GPUConstantMem.h"
35+
#include "GPUDef.h"
3736

3837
namespace o2::its
3938
{
@@ -280,7 +279,7 @@ class GPUReconstruction
280279
static std::string getBackendVersions();
281280

282281
// Private helper functions for memory management
283-
size_t AllocateRegisteredMemoryHelper(GPUMemoryResource* res, void*& ptr, void*& memorypool, void* memorybase, size_t memorysize, void* (GPUMemoryResource::*SetPointers)(void*), void*& memorypoolend, const char* device);
282+
size_t AllocateRegisteredMemoryHelper(GPUMemoryResource* res, void*& ptr, void*& memorypool, void* memorybase, size_t memorysize, void* (GPUMemoryResource::*SetPointers)(void*) const, void*& memorypoolend, const char* device);
284283
size_t AllocateRegisteredPermanentMemory();
285284

286285
// Private helper functions for reading / writing / allocating IO buffer from/to file

0 commit comments

Comments
 (0)