forked from sophgo/tpu-mq
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.py
More file actions
53 lines (47 loc) · 1.69 KB
/
setup.py
File metadata and controls
53 lines (47 loc) · 1.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import os
import torch
import setuptools
from mqbench import __version__
from torch.utils.cpp_extension import BuildExtension, CppExtension
with open("READMEFP8.md", "r") as fh:
long_description = fh.read()
def read_requirements():
reqs = []
with open('requirements.txt', 'r') as fin:
for line in fin.readlines():
reqs.append(line.strip())
return reqs
cmdclass = {}
ext_modules = []
ext_modules.append(
CppExtension('fpemu_cpp',
['FP8_Emulator/pytquant/cpp/avx-fpemu.cpp'], #如果机子支持avx-512指令集,可以在下面添加编译512指令集的args,然后将avx-fpemu文件更换为fpemu_impl.cpp文件
extra_compile_args = ["-mf16c", "-mavx2", "-mlzcnt", "-fopenmp", "-Wdeprecated-declarations"]
),)
if torch.cuda.is_available():
from torch.utils.cpp_extension import BuildExtension, CUDAExtension
ext_modules.append(
CUDAExtension('fpemu_cuda', [
'FP8_Emulator/pytquant/cuda/fpemu_impl.cpp',
'FP8_Emulator/pytquant/cuda/fpemu_kernels.cu'],
),)
cmdclass['build_ext'] = BuildExtension
setuptools.setup(
name="MQBench",
version=__version__,
author="The Great Cold",
author_email="",
description=("Quantization aware training."),
ext_modules=ext_modules,
cmdclass=cmdclass,
long_description=long_description,
long_description_content_type="text/markdown",
url="",
python_requires='>=3.6',
packages=setuptools.find_packages(),
classifiers=(
'Development Status :: 3 - Alpha',
"Programming Language :: Python :: 3",
"Operating System :: POSIX :: Linux :: OS Independent"),
install_requires=read_requirements()
)