기본적으로 작은 개체를 빠르게 할당하기 위해 메모리 풀이 필요합니다. 이상적으로는, 나는 호스트와 GPU에 할당 된 메모리에 대한 할당을 cudaMalloc로 대체하고 싶습니다. 나는 내 자신 만의 글을 쓸 수 있으며,해야만한다면 그렇게 하겠지만, 솔리드 오픈 소스 구현 중 하나를 바꿀 수는 없다.할당에 메타 데이터를 저장하지 않는 사용자 지정 메모리 할당 자 디자인 패턴이 있습니까?
유일한 문제는 cudaMalloc을 사용하면 메모리 풀이 할당 된 메모리에 접근 할 수 없다는 것입니다. 제 생각에 공통 메모리 할당 자 중 많은 수 (모두?)는 제목에있는 것과 같이 할당 된 데이터에 적은 양의 메타 데이터를 저장합니다. 그러므로 그들은 일하지 않을 것입니다.
누구도 이것이 사실이 아닌 메모리 할당자를 알고 있습니까?
여기 malloc의 내부 구조에 대한 설명이 꽤 있습니다. 제공된 정보를 기반으로 직접 작성할 수 있습니다. http://stackoverflow.com/questions/3479330/how-is-malloc-implemented-internally – SGrebenkin
메타 데이터를 어딘가에 저장해야합니다. * 호스트에 메타 데이터를 유지하고 CUDA GPU에 할당 된 데이터 만 유지하려는 경우 상황이 상당히 복잡하고 비효율적 일 수 있습니다. –
컴파일 타임 솔루션으로 메타 데이터가 필요하지 않습니다. –