Ruy: Permit GEMV code to thread if thread_count above 1
PiperOrigin-RevId: 280708178 Change-Id: I519ca15e4b52d2e4483dae63418ebfb7b6b8e31f
This commit is contained in:
parent
4608b40a30
commit
0c04770ad1
@ -261,11 +261,13 @@ int GetThreadCount(Context* context, int rows, int cols, int depth) {
|
||||
LoopStructure GetLoopStructure(int tentative_thread_count, int rows, int cols,
|
||||
int depth,
|
||||
int cache_friendly_traversal_threshold) {
|
||||
if (cols == 1) { // Use a simple loop for the GEMV case.
|
||||
return LoopStructure::kSimple;
|
||||
} else if (tentative_thread_count == 1 &&
|
||||
(rows + cols) * depth < cache_friendly_traversal_threshold) {
|
||||
return LoopStructure::kSimple;
|
||||
if (tentative_thread_count == 1) {
|
||||
// If we are in the GEMV case or the size is below the
|
||||
// threshold, stay with the simple loop structure.
|
||||
if ((cols == 1) ||
|
||||
(rows + cols) * depth < cache_friendly_traversal_threshold) {
|
||||
return LoopStructure::kSimple;
|
||||
}
|
||||
}
|
||||
return LoopStructure::kGeneral;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user