deepspeed
36 строк · 1.1 Кб
1# Copyright (c) Microsoft Corporation.
2# SPDX-License-Identifier: Apache-2.0
3
4# DeepSpeed Team
5
6from .builder import CUDAOpBuilder
7
8
9class TransformerBuilder(CUDAOpBuilder):
10BUILD_VAR = "DS_BUILD_TRANSFORMER"
11NAME = "transformer"
12
13def __init__(self, name=None):
14name = self.NAME if name is None else name
15super().__init__(name=name)
16
17def absolute_name(self):
18return f'deepspeed.ops.transformer.{self.NAME}_op'
19
20def extra_ldflags(self):
21if not self.is_rocm_pytorch():
22return ['-lcurand']
23else:
24return []
25
26def sources(self):
27return [
28'csrc/transformer/ds_transformer_cuda.cpp', 'csrc/transformer/cublas_wrappers.cu',
29'csrc/transformer/transform_kernels.cu', 'csrc/transformer/gelu_kernels.cu',
30'csrc/transformer/dropout_kernels.cu', 'csrc/transformer/normalize_kernels.cu',
31'csrc/transformer/softmax_kernels.cu', 'csrc/transformer/general_kernels.cu'
32]
33
34def include_paths(self):
35includes = ['csrc/includes']
36return includes
37