OrcaleSeek / optimize.py
prelington's picture
Create optimize.py
7d69cc1 verified
import torch
from torch.utils.cpp_extension import CUDA_HOME
def optimize_model(model):
"""Apply various optimizations"""
# Mixed precision
model.half()
# CUDA optimizations
if torch.cuda.is_available():
model = model.to('cuda')
torch.backends.cudnn.benchmark = True
torch.backends.cuda.matmul.allow_tf32 = True
# Compile with torch.compile (PyTorch 2.0+)
if hasattr(torch, 'compile'):
model = torch.compile(model, mode="reduce-overhead")
return model
def memory_optimization():
"""Memory optimization techniques"""
torch.cuda.empty_cache()
torch.backends.cudnn.deterministic = False