File size: 584 Bytes
8791e67
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <torch/library.h>

#include "registration.h"
#include "torch_binding.h"

TORCH_LIBRARY_EXPAND(TORCH_EXTENSION_NAME, ops) {
  ops.def("muon_orthogonalize(Tensor Xb, int steps, float eps) -> Tensor");
  ops.def("muon_sr_update(Tensor(a!) param, Tensor O, float lr, float scale, float wd, "
          "int seed, int step, int base_index) -> ()");

#if defined(CUDA_KERNEL) || defined(ROCM_KERNEL)
  ops.impl("muon_orthogonalize", torch::kCUDA, &muon_orthogonalize);
  ops.impl("muon_sr_update", torch::kCUDA, &muon_sr_update);
#endif
}

REGISTER_EXTENSION(TORCH_EXTENSION_NAME)