В моей программе я хочу использовать два шага для new
объекта:
- используйте
cudaMalloc
, чтобы получить необработанную память
- используйте
placement new
для создания объекта по необработанному указателю.
Поэтому мне интересно, возможно ли это, потому что указатель, возвращаемый cudaMalloc
, находится на хосте, а placement new
также работает на хосте. Если это не хорошо, есть ли другие лучшие практики, чтобы сделать это?
Цель этого разделения состоит в том, что я хочу использовать класс Allocator
и его производные классы для управления необработанной памятью для различных устройств, таких как CPU и GPU. А затем создайте объекты, используя эту необработанную память, возвращаемую Allocator
.