chooseAlgorithm Class — pytorch Architecture
Architecture documentation for the chooseAlgorithm class in Conv_miopen.cpp from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/native/miopen/Conv_miopen.cpp lines 596–620
template<typename algo_t>
Workspace chooseAlgorithm(
const ConvolutionArgs& args,
bool benchmark,
algo_t* algo)
{
findAlgorithm(args, benchmark, algo);
using search = algorithm_search<algo_t>;
size_t workspace_size;
search::wsscache().find(args.params, &workspace_size);
try {
return Workspace(workspace_size);
} catch (const std::exception&) {
std::ignore = hipGetLastError(); // clear OOM error
// switch to default algorithm and record it in the cache to prevent
// further OOM errors
*algo = search::DEFAULT_ALGO;
workspace_size = getWorkspaceSize(args, *algo);
search::cache().insert(args.params, *algo);
search::wsscache().insert(args.params, workspace_size);
return Workspace(workspace_size);
}
}
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free