transformer.py 933 B

12345678910111213141516171819202122232425262728293031
  1. """
  2. Copyright 2020 The Microsoft DeepSpeed Team
  3. """
  4. from .builder import CUDAOpBuilder
  5. class TransformerBuilder(CUDAOpBuilder):
  6. BUILD_VAR = "DS_BUILD_TRANSFORMER"
  7. NAME = "transformer"
  8. def __init__(self, name=None):
  9. name = self.NAME if name is None else name
  10. super().__init__(name=name)
  11. def absolute_name(self):
  12. return f'deepspeed.ops.transformer.{self.NAME}_op'
  13. def sources(self):
  14. return [
  15. 'csrc/transformer/ds_transformer_cuda.cpp',
  16. 'csrc/transformer/cublas_wrappers.cu',
  17. 'csrc/transformer/transform_kernels.cu',
  18. 'csrc/transformer/gelu_kernels.cu',
  19. 'csrc/transformer/dropout_kernels.cu',
  20. 'csrc/transformer/normalize_kernels.cu',
  21. 'csrc/transformer/softmax_kernels.cu',
  22. 'csrc/transformer/general_kernels.cu'
  23. ]
  24. def include_paths(self):
  25. return ['csrc/includes']