cpu_adagrad.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. """
  2. Copyright 2020 The Microsoft DeepSpeed Team
  3. """
  4. import os
  5. from .builder import TorchCPUOpBuilder
  6. class CPUAdagradBuilder(TorchCPUOpBuilder):
  7. BUILD_VAR = "DS_BUILD_CPU_ADAGRAD"
  8. NAME = "cpu_adagrad"
  9. def __init__(self):
  10. super().__init__(name=self.NAME)
  11. def absolute_name(self):
  12. return f'deepspeed.ops.adagrad.{self.NAME}_op'
  13. def sources(self):
  14. return ['csrc/adagrad/cpu_adagrad.cpp', 'csrc/common/custom_cuda_kernel.cu']
  15. def include_paths(self):
  16. import torch
  17. if not self.is_rocm_pytorch():
  18. CUDA_INCLUDE = [os.path.join(torch.utils.cpp_extension.CUDA_HOME, "include")]
  19. else:
  20. CUDA_INCLUDE = [
  21. os.path.join(torch.utils.cpp_extension.ROCM_HOME,
  22. "include"),
  23. os.path.join(torch.utils.cpp_extension.ROCM_HOME,
  24. "include",
  25. "rocrand"),
  26. os.path.join(torch.utils.cpp_extension.ROCM_HOME,
  27. "include",
  28. "hiprand"),
  29. ]
  30. return ['csrc/includes'] + CUDA_INCLUDE