GPUPeople / Ouroboros

GPU MemoryManager based on virtualized queues
MIT License
19 stars 4 forks source link

MultiOuroboros - Allow multiple instances with different chunk sizes #1

Open delanyinspiron6400 opened 4 years ago

delanyinspiron6400 commented 4 years ago

Nearly done, but for larger allocation sizes still some issues, need to take a look at that

delanyinspiron6400 commented 4 years ago

Which versions are currently working?

Page-Based

delanyinspiron6400 commented 4 years ago

It seems that the other queue variants are probably using something which does not scale to multi, which the standard queues do not

delanyinspiron6400 commented 4 years ago

It works for all variants if all chunks are now ChunkAddFactor larger than they usually are, not only the data chunks. Still searching for the solution though

delanyinspiron6400 commented 4 years ago

Ah, now I found it, I was enqueuing differently sized chunks into the same chunk-reuse queue. Need to differentiate here!

delanyinspiron6400 commented 4 years ago

Page-based variants now seem to work, had to get all variadic instances to correctly relay their calls to allocate/deallocate to the correct re-use queues, while the base instance can use the same queue, the others have to switch between their re-use queues for chunks and their re-use queues for queue chunks (which there is now only one for all!