It encapsulates the python built-in ``setuptools.setup`` function and keeps arguments
It encapsulates the python built-in ``setuptools.setup`` function and keeps arguments
and usage same as the native interface. Meanwhile, it hiddens Paddle inner framework
and usage same as the native interface. Meanwhile, it hides Paddle inner framework
concepts, such as necessary compiling flags, included paths of head files, and linking
concepts, such as necessary compiling flags, included paths of head files, and linking
flags. It also will automatically search and valid local environment and versions of
flags. It also will automatically search and valid local environment and versions of
``cc(Linux)`` , ``cl.exe(Windows)`` and ``nvcc`` , then compiles customized operators
``cc(Linux)`` , ``cl.exe(Windows)`` and ``nvcc`` , then compiles customized operators
...
@@ -104,8 +103,8 @@ def setup(**attr):
...
@@ -104,8 +103,8 @@ def setup(**attr):
Note:
Note:
1. Currently we support Linux, MacOS and Windows platfrom.
1. Currently we support Linux, MacOS and Windows platform.
2. On Linux platform, we recommend to use GCC 8.2 as soft linking condidate of ``/usr/bin/cc`` .
2. On Linux platform, we recommend to use GCC 8.2 as soft linking candidate of ``/usr/bin/cc`` .
Then, Use ``which cc`` to ensure location of ``cc`` and using ``cc --version`` to ensure linking
Then, Use ``which cc`` to ensure location of ``cc`` and using ``cc --version`` to ensure linking
GCC version.
GCC version.
3. On Windows platform, we recommend to install `` Visual Studio`` (>=2017).
3. On Windows platform, we recommend to install `` Visual Studio`` (>=2017).
...
@@ -164,7 +163,7 @@ def setup(**attr):
...
@@ -164,7 +163,7 @@ def setup(**attr):
``site-package/paddle/include`` . Please add the corresponding directory path if including third-party
``site-package/paddle/include`` . Please add the corresponding directory path if including third-party
head files. Default is None.
head files. Default is None.
extra_compile_args(list[str] | dict, optional): Specify the extra compiling flags such as ``-O3`` . If set ``list[str]`` , all these flags
extra_compile_args(list[str] | dict, optional): Specify the extra compiling flags such as ``-O3`` . If set ``list[str]`` , all these flags
will be applied for ``cc`` and ``nvcc`` compiler. It support specify flags only applied ``cc`` or ``nvcc``
will be applied for ``cc`` and ``nvcc`` compiler. It supports specify flags only applied ``cc`` or ``nvcc``
compiler using dict type with ``{'cxx': [...], 'nvcc': [...]}`` . Default is None.
compiler using dict type with ``{'cxx': [...], 'nvcc': [...]}`` . Default is None.
**attr(dict, optional): Specify other arguments same as ``setuptools.setup`` .
**attr(dict, optional): Specify other arguments same as ``setuptools.setup`` .
...
@@ -211,7 +210,7 @@ def setup(**attr):
...
@@ -211,7 +210,7 @@ def setup(**attr):
),"Required only one Extension, but received {}. If you want to compile multi operators, you can include all necessary source files in one Extension.".format(
),"Required only one Extension, but received {}. If you want to compile multi operators, you can include all necessary source files in one Extension.".format(
len(ext_modules)
len(ext_modules)
)
)
# replace Extension.name with attr['name] to keep consistant with Package name.
# replace Extension.name with attr['name] to keep consistent with Package name.