From 62450699e7bea5bfbfe890d07bbbea7596e1fbf3 Mon Sep 17 00:00:00 2001 From: Bonbon-Tang <928081866@qq.com> Date: Thu, 22 Feb 2024 16:22:47 +0800 Subject: [PATCH 1/5] change DIOPI --- dipu/third_party/DIOPI | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dipu/third_party/DIOPI b/dipu/third_party/DIOPI index 03056c2d2..7233d54b5 160000 --- a/dipu/third_party/DIOPI +++ b/dipu/third_party/DIOPI @@ -1 +1 @@ -Subproject commit 03056c2d2cc74fcf072f402c6d3a7fe66fa0a4e5 +Subproject commit 7233d54b5ff3a2ba779708ea5e914aee9c5f4b7f From 42fe354e6df78612a85c1da3022d2545d9903adf Mon Sep 17 00:00:00 2001 From: Bonbon-Tang <928081866@qq.com> Date: Mon, 1 Apr 2024 15:35:33 +0800 Subject: [PATCH 2/5] add seed and offset --- .../csrc_dipu/diopirt/diopirt_impl.cpp | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/dipu/torch_dipu/csrc_dipu/diopirt/diopirt_impl.cpp b/dipu/torch_dipu/csrc_dipu/diopirt/diopirt_impl.cpp index db909e62e..7e65e32c1 100644 --- a/dipu/torch_dipu/csrc_dipu/diopirt/diopirt_impl.cpp +++ b/dipu/torch_dipu/csrc_dipu/diopirt/diopirt_impl.cpp @@ -183,6 +183,30 @@ DIOPI_RT_API diopiError_t diopiGeneratorSetState( return diopiSuccess; } +DIOPI_RT_API diopiError_t diopiGeneratorGetSeedAndOffset( + diopiGeneratorHandle_t th, uint64_t& seed, uint64_t& offset) { + auto generator = reinterpret_cast(th); + auto gen_impl = at::check_generator(*generator); + { + offset = gen_impl->get_offset(); + seed = gen_impl->current_seed(); + } + + return diopiSuccess; +} + +DIOPI_RT_API diopiError_t diopiGeneratorSetSeedAndOffset( + diopiGeneratorHandle_t th, uint64_t seed, uint64_t offset) { + auto generator = reinterpret_cast(th); + auto gen_impl = at::check_generator(*generator); + { + gen_impl->set_offset(offset); + gen_impl->set_current_seed(seed); + } + + return diopiSuccess; +} + DIOPI_RT_API diopiError_t diopiRecordStart(const char* record_name, void** record) { *record = new RecordBlockCreator(record_name); From 6cdfa4b55a4d02b0148be6cf6a2a054b04363d3d Mon Sep 17 00:00:00 2001 From: Bonbon-Tang <928081866@qq.com> Date: Tue, 2 Apr 2024 14:42:24 +0800 Subject: [PATCH 3/5] update DIOPI --- dipu/torch_dipu/csrc_dipu/diopirt/diopirt_impl.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dipu/torch_dipu/csrc_dipu/diopirt/diopirt_impl.cpp b/dipu/torch_dipu/csrc_dipu/diopirt/diopirt_impl.cpp index 7e65e32c1..2c5a906ff 100644 --- a/dipu/torch_dipu/csrc_dipu/diopirt/diopirt_impl.cpp +++ b/dipu/torch_dipu/csrc_dipu/diopirt/diopirt_impl.cpp @@ -188,6 +188,7 @@ DIOPI_RT_API diopiError_t diopiGeneratorGetSeedAndOffset( auto generator = reinterpret_cast(th); auto gen_impl = at::check_generator(*generator); { + std::lock_guard lock(gen_impl->mutex_); offset = gen_impl->get_offset(); seed = gen_impl->current_seed(); } @@ -200,6 +201,7 @@ DIOPI_RT_API diopiError_t diopiGeneratorSetSeedAndOffset( auto generator = reinterpret_cast(th); auto gen_impl = at::check_generator(*generator); { + std::lock_guard lock(gen_impl->mutex_); gen_impl->set_offset(offset); gen_impl->set_current_seed(seed); } From 19c287113d8fd5e76154e862caf766558d108846 Mon Sep 17 00:00:00 2001 From: Bonbon-Tang <928081866@qq.com> Date: Tue, 9 Apr 2024 14:35:55 +0800 Subject: [PATCH 4/5] change lock --- .../csrc_dipu/diopirt/diopirt_impl.cpp | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/dipu/torch_dipu/csrc_dipu/diopirt/diopirt_impl.cpp b/dipu/torch_dipu/csrc_dipu/diopirt/diopirt_impl.cpp index 2c5a906ff..4fd28342b 100644 --- a/dipu/torch_dipu/csrc_dipu/diopirt/diopirt_impl.cpp +++ b/dipu/torch_dipu/csrc_dipu/diopirt/diopirt_impl.cpp @@ -187,11 +187,9 @@ DIOPI_RT_API diopiError_t diopiGeneratorGetSeedAndOffset( diopiGeneratorHandle_t th, uint64_t& seed, uint64_t& offset) { auto generator = reinterpret_cast(th); auto gen_impl = at::check_generator(*generator); - { - std::lock_guard lock(gen_impl->mutex_); - offset = gen_impl->get_offset(); - seed = gen_impl->current_seed(); - } + + offset = gen_impl->get_offset(); + seed = gen_impl->current_seed(); return diopiSuccess; } @@ -200,12 +198,10 @@ DIOPI_RT_API diopiError_t diopiGeneratorSetSeedAndOffset( diopiGeneratorHandle_t th, uint64_t seed, uint64_t offset) { auto generator = reinterpret_cast(th); auto gen_impl = at::check_generator(*generator); - { - std::lock_guard lock(gen_impl->mutex_); - gen_impl->set_offset(offset); - gen_impl->set_current_seed(seed); - } - + + gen_impl->set_offset(offset); + gen_impl->set_current_seed(seed); + return diopiSuccess; } From e8f234a384f5a03fac7dba882706b2f4594b28e3 Mon Sep 17 00:00:00 2001 From: Bonbon-Tang <928081866@qq.com> Date: Tue, 9 Apr 2024 14:58:24 +0800 Subject: [PATCH 5/5] change format --- dipu/torch_dipu/csrc_dipu/diopirt/diopirt_impl.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/dipu/torch_dipu/csrc_dipu/diopirt/diopirt_impl.cpp b/dipu/torch_dipu/csrc_dipu/diopirt/diopirt_impl.cpp index 4fd28342b..5aa5bb7d3 100644 --- a/dipu/torch_dipu/csrc_dipu/diopirt/diopirt_impl.cpp +++ b/dipu/torch_dipu/csrc_dipu/diopirt/diopirt_impl.cpp @@ -187,10 +187,8 @@ DIOPI_RT_API diopiError_t diopiGeneratorGetSeedAndOffset( diopiGeneratorHandle_t th, uint64_t& seed, uint64_t& offset) { auto generator = reinterpret_cast(th); auto gen_impl = at::check_generator(*generator); - offset = gen_impl->get_offset(); seed = gen_impl->current_seed(); - return diopiSuccess; } @@ -198,10 +196,8 @@ DIOPI_RT_API diopiError_t diopiGeneratorSetSeedAndOffset( diopiGeneratorHandle_t th, uint64_t seed, uint64_t offset) { auto generator = reinterpret_cast(th); auto gen_impl = at::check_generator(*generator); - gen_impl->set_offset(offset); gen_impl->set_current_seed(seed); - return diopiSuccess; }