File tree Expand file tree Collapse file tree 1 file changed +24
-0
lines changed
dipu/torch_dipu/csrc_dipu/diopirt Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -183,6 +183,30 @@ DIOPI_RT_API diopiError_t diopiGeneratorSetState(
183183 return diopiSuccess;
184184}
185185
186+ DIOPI_RT_API diopiError_t diopiGeneratorGetSeedAndOffset (
187+ diopiGeneratorHandle_t th, uint64_t & seed, uint64_t & offset) {
188+ auto generator = reinterpret_cast <at::Generator*>(th);
189+ auto gen_impl = at::check_generator<dipu::DIPUGeneratorImpl>(*generator);
190+ {
191+ offset = gen_impl->get_offset ();
192+ seed = gen_impl->current_seed ();
193+ }
194+
195+ return diopiSuccess;
196+ }
197+
198+ DIOPI_RT_API diopiError_t diopiGeneratorSetSeedAndOffset (
199+ diopiGeneratorHandle_t th, uint64_t seed, uint64_t offset) {
200+ auto generator = reinterpret_cast <at::Generator*>(th);
201+ auto gen_impl = at::check_generator<dipu::DIPUGeneratorImpl>(*generator);
202+ {
203+ gen_impl->set_offset (offset);
204+ gen_impl->set_current_seed (seed);
205+ }
206+
207+ return diopiSuccess;
208+ }
209+
186210DIOPI_RT_API diopiError_t diopiRecordStart (const char * record_name,
187211 void ** record) {
188212 *record = new RecordBlockCreator (record_name);
You can’t perform that action at this time.
0 commit comments