Replies: 2 comments 1 reply
-
Hi @kmd2zjw, Thanks for bringing this up. From your example code, the pattern replication API means that we need to replicate a pattern of Could you provide more details, such as if An alternative approach is to use the ranged PIM copy APIs. By providing idxBegin and idxEnd, you can directly copy a pattern into a specific range of a PIM object, to avoid constructing a big vector in host memory. |
Beta Was this translation helpful? Give feedback.
-
@kmd2zjw it may take a while to design and implement this API with performance and energy modeling. So, I would recommend not waiting on this. |
Beta Was this translation helpful? Give feedback.
-
I'm basing my MLP implementation off of the batched GEMM application, but before I begin to migrate the updated batched code I just wanted to make sure that it was fully implemented. Within the batched GEMM code, there is a TODO that requests a pattern replication feature:
// Concatenate matrices. Needs to be done once
std::vectorstd::vector batchedSrcMatA;
for (uint64_t i = 0; i < colA; ++i)
{
std::vector temp;
for (uint64_t j = 0; j < batchSize; ++j) {
// TODO: Add replicate a pattern API in the simulator
for (uint64_t k = 0; k < row; ++k) {
temp.push_back(srcMatrixAT[i][k]);
}
}
batchedSrcMatA.push_back(temp);
}
So I was wondering if this is worth waiting for or if I should proceed with updating MLP?
Beta Was this translation helpful? Give feedback.
All reactions