forked from yujichai/AdaptivFloat-Emulation-Toolkit
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.py
More file actions
65 lines (57 loc) · 2.27 KB
/
setup.py
File metadata and controls
65 lines (57 loc) · 2.27 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
54
55
56
57
58
59
60
61
62
63
64
65
import os
import torch
from setuptools import setup, find_packages
from torch.utils.cpp_extension import BuildExtension, CppExtension
cmdclass = {}
ext_modules = []
with open("README.md", "r") as fh:
long_description = fh.read()
ext_modules.append(
CppExtension('fpemu_cpp',
['mpemu/pytquant/cpp/fpemu_impl.cpp'],
extra_compile_args = ["-mf16c", "-march=native", "-mlzcnt", "-fopenmp", "-Wdeprecated-declarations"]
),)
if torch.cuda.is_available():
from torch.utils.cpp_extension import BuildExtension, CUDAExtension
if torch.version.hip:
ext_modules.append(
CUDAExtension('fpemu_hip', [
'mpemu/pytquant/hip/fpemu_impl.cpp',
'mpemu/pytquant/hip/fpemu_kernels.hip'],
),)
elif torch.version.cuda:
ext_modules.append(
CUDAExtension('fpemu_cuda', [
'mpemu/pytquant/cuda/fpemu_impl.cpp',
'mpemu/pytquant/cuda/fpemu_kernels.cu'],
),)
ext_modules.append(
CppExtension('simple_gemm_dev',
['mpemu/cmodel/simple/simple_gemm.cpp', 'mpemu/cmodel/simple/simple_gemm_impl.cpp', 'mpemu/cmodel/simple/simple_mm_engine.cpp'],
extra_compile_args=[ '-march=native', '-fopenmp','-Wunused-but-set-variable','-Wunused-variable'],
include_dirs=['{}/'.format(os.getenv("PWD")+'/mpemu/cmodel/simple')],
),)
ext_modules.append(
CppExtension('simple_conv2d_dev',
['mpemu/cmodel/simple/simple_conv2d.cpp', 'mpemu/cmodel/simple/simple_conv2d_impl.cpp', 'mpemu/cmodel/simple/simple_mm_engine.cpp'],
extra_compile_args=[ '-march=native', '-fopenmp','-Wunused-but-set-variable','-Wunused-variable'],
include_dirs=['{}/'.format(os.getenv("PWD")+'/mpemu/cmodel/simple')],
),)
cmdclass['build_ext'] = BuildExtension
setup(
name="mpemu",
version="1.0",
ext_modules=ext_modules,
cmdclass=cmdclass,
author="Naveen Mellempudi",
description="FP8 Emulation Toolkit",
long_description=long_description,
long_description_content_type="text/markdown",
url="",
packages=find_packages(),
classifiers=[
"Programming Language :: Python :: 3",
"Operating System :: OS Independent",
],
python_requires='>=3.6',
)