MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / init_naive_values

Method init_naive_values

dnn/test/common/checker.cpp:358–386  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

356}
357
358void CheckerHelper::init_naive_values() {
359 auto&& tensors_naive = *m_tensors_naive;
360 megdnn_assert(!m_input_tensors_fpath || !m_tensor_constraint);
361 if (m_input_tensors_fpath) {
362 auto load = load_tensors(m_input_tensors_fpath);
363 m_input_tensors_fpath = nullptr;
364 megdnn_assert(load.size() <= tensors_naive.size());
365
366 for (size_t i = 0; i < load.size(); ++i) {
367 auto&& src = load[i];
368 auto&& dst = tensors_naive[i];
369 megdnn_assert(src->layout.eq_layout(dst.layout));
370 memcpy_noncontig(dst.raw_ptr(), src->raw_ptr(), dst.layout, memcpy);
371 }
372 return;
373 }
374
375 for (size_t i = 0; i < tensors_naive.size(); ++i) {
376 auto&& tensor = tensors_naive[i];
377 auto rng = m_rng[i];
378 if (!rng)
379 rng = m_default_rng.get();
380 rng->gen(tensor);
381 }
382
383 if (m_tensor_constraint) {
384 m_tensor_constraint(tensors_naive);
385 }
386}
387
388void CheckerHelper::copy_tensors_from_device(
389 const TensorValueArray& dest, const TensorValueArray& src) {

Callers

nothing calls this directly

Calls 6

memcpy_noncontigFunction · 0.85
eq_layoutMethod · 0.80
sizeMethod · 0.45
raw_ptrMethod · 0.45
getMethod · 0.45
genMethod · 0.45

Tested by

no test coverage detected