Browse Source

clear up codedex of C++

tags/v1.0.0
lilei 5 years ago
parent
commit
f2b9ac3d6a
3 changed files with 9 additions and 4 deletions
  1. +2
    -0
      mindspore/ccsrc/pybind_api/random_normal/philox_generator.h
  2. +1
    -1
      mindspore/ccsrc/pybind_api/random_normal/random_cpu_kernel.cc
  3. +6
    -3
      mindspore/ccsrc/pybind_api/random_normal/random_cpu_kernel.h

+ 2
- 0
mindspore/ccsrc/pybind_api/random_normal/philox_generator.h View File

@@ -33,6 +33,8 @@ class PhiloxGenerator {
counter_[3] = static_cast<uint32_t>(seed_ >> 32); counter_[3] = static_cast<uint32_t>(seed_ >> 32);
} }


~PhiloxGenerator() = default;

void Jump(); void Jump();


void JumpStep(uint64_t step); void JumpStep(uint64_t step);


+ 1
- 1
mindspore/ccsrc/pybind_api/random_normal/random_cpu_kernel.cc View File

@@ -65,6 +65,6 @@ bool InitRandomNormal(float mean, float stddev, std::vector<int64_t> out_shape,
} }


REGISTER_PYBIND_DEFINE(random_normal, REGISTER_PYBIND_DEFINE(random_normal,
([](py::module *m) { (void)m->def("random_normal", &InitRandomNormal, "testnormal"); }));
([](py::module *const m) { (void)m->def("random_normal", &InitRandomNormal, "testnormal"); }));


} // namespace mindspore } // namespace mindspore

+ 6
- 3
mindspore/ccsrc/pybind_api/random_normal/random_cpu_kernel.h View File

@@ -38,7 +38,7 @@ class NormalDistribution<T, float> {
const uint32_t exp = static_cast<uint32_t>(127); const uint32_t exp = static_cast<uint32_t>(127);
const uint32_t val = (exp << 23) | temp_value; const uint32_t val = (exp << 23) | temp_value;
errno_t mem_ret; errno_t mem_ret;
mem_ret = memcpy_s(output, sizeof(val), &val, sizeof(val));
mem_ret = memcpy_s(output, sizeof(float), &val, sizeof(uint32_t));
if (mem_ret != EOK) { if (mem_ret != EOK) {
MS_LOG(ERROR) << "UInt32ToFloat32 memcpy is failed"; MS_LOG(ERROR) << "UInt32ToFloat32 memcpy is failed";
return false; return false;
@@ -71,10 +71,13 @@ bool FillRandoms(PhiloxGenerator generator, float *output, int64_t vet_size, int
generator.JumpStep((vet_size * thread_Id + gResultNum - 1) / gResultNum); generator.JumpStep((vet_size * thread_Id + gResultNum - 1) / gResultNum);
for (int32_t i = 0; i < vet_size; i += gResultNum) { for (int32_t i = 0; i < vet_size; i += gResultNum) {
auto outputResult = distribution(&generator); auto outputResult = distribution(&generator);
size_t max_length = 0;
if (vet_size - i >= gResultNum) { if (vet_size - i >= gResultNum) {
mem_ret = memcpy_s(&output[i], gResultNum * sizeof(float), &outputResult[0], gResultNum * sizeof(float));
max_length = gResultNum * sizeof(float);
mem_ret = memcpy_s(&output[i], max_length, &outputResult[0], max_length);
} else { } else {
mem_ret = memcpy_s(&output[i], (vet_size - i) * sizeof(float), &outputResult[0], (vet_size - i) * sizeof(float));
max_length = (vet_size - i) * sizeof(float);
mem_ret = memcpy_s(&output[i], max_length, &outputResult[0], max_length);
} }
if (mem_ret != EOK) { if (mem_ret != EOK) {
MS_LOG(ERROR) << "FillRandoms memcpy is failed"; MS_LOG(ERROR) << "FillRandoms memcpy is failed";


Loading…
Cancel
Save