"dgl_sparse/include/vscode:/vscode.git/clone" did not exist on "59bb5406b3cfcedb7272cb74413afbc6e6bf5ec7"
Commit be1e2163 authored by Woosuk Kwon's avatar Woosuk Kwon
Browse files

Fix memory leak in swapping

parent 7e5f604e
...@@ -165,10 +165,11 @@ class BlockSpaceManager: ...@@ -165,10 +165,11 @@ class BlockSpaceManager:
for cpu_block in block_table: for cpu_block in block_table:
if cpu_block in mapping: if cpu_block in mapping:
new_block_table.append(mapping[cpu_block]) gpu_block = mapping[cpu_block]
continue else:
gpu_block = self.gpu_allocator.allocate() gpu_block = self.gpu_allocator.allocate()
mapping[cpu_block] = gpu_block mapping[cpu_block] = gpu_block
new_block_table.append(gpu_block)
# Free the CPU block swapped in to GPU. # Free the CPU block swapped in to GPU.
self.cpu_allocator.free(cpu_block) self.cpu_allocator.free(cpu_block)
self.block_tables[seq.seq_id] = new_block_table self.block_tables[seq.seq_id] = new_block_table
...@@ -194,12 +195,11 @@ class BlockSpaceManager: ...@@ -194,12 +195,11 @@ class BlockSpaceManager:
for gpu_block in block_table: for gpu_block in block_table:
if gpu_block in mapping: if gpu_block in mapping:
new_block_table.append(mapping[gpu_block]) cpu_block = mapping[gpu_block]
continue else:
cpu_block = self.cpu_allocator.allocate() cpu_block = self.cpu_allocator.allocate()
mapping[gpu_block] = cpu_block
new_block_table.append(cpu_block) new_block_table.append(cpu_block)
mapping[gpu_block] = cpu_block
# Free the GPU block swapped out to CPU. # Free the GPU block swapped out to CPU.
self.gpu_allocator.free(gpu_block) self.gpu_allocator.free(gpu_block)
self.block_tables[seq.seq_id] = new_block_table self.block_tables[seq.seq_id] = new_block_table
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment