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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class PyTorchaudio(PythonPackage):
"""The aim of torchaudio is to apply PyTorch to the audio
domain. By supporting PyTorch, torchaudio follows the same
philosophy of providing strong GPU acceleration, having a focus on
trainable features through the autograd system, and having
consistent style (tensor names and dimension names). Therefore, it
is primarily a machine learning library and not a general signal
processing library. The benefits of Pytorch is be seen in
torchaudio through having all the computations be through Pytorch
operations which makes it easy to use and feel like a natural
extension."""
homepage = "https://github.com/pytorch/audio"
git = "https://github.com/pytorch/audio.git"
version("main", branch="main", submodules=True)
version("2.0.2", tag="v2.0.2", submodules=True)
version("2.0.1", tag="v2.0.1", submodules=True)
version("0.13.1", tag="v0.13.1", submodules=True)
version("0.13.0", tag="v0.13.0", submodules=True)
version("0.12.1", tag="v0.12.1", submodules=True)
version("0.12.0", tag="v0.12.0", submodules=True)
version("0.11.0", tag="v0.11.0", submodules=True)
version("0.10.2", tag="v0.10.2", submodules=True)
version("0.10.1", tag="v0.10.1", submodules=True)
version("0.10.0", tag="v0.10.0", submodules=True)
version("0.9.1", tag="v0.9.1", submodules=True)
version("0.9.0", tag="v0.9.0", submodules=True)
version("0.8.2", tag="v0.8.2", submodules=True)
version("0.8.1", tag="v0.8.1", submodules=True)
version("0.8.0", tag="v0.8.0", submodules=True)
version("0.7.2", tag="v0.7.2", submodules=True)
version("0.7.0", tag="v0.7.0", submodules=True)
version("0.6.0", tag="v0.6.0", submodules=True)
version("0.5.1", tag="v0.5.1", submodules=True)
version("0.5.0", tag="v0.5.0", submodules=True)
version("0.4.0", tag="v0.4.0", submodules=True)
# https://github.com/pytorch/audio#dependencies
depends_on("python@3.8:3.11", when="@2:", type=("build", "link", "run"))
depends_on("python@3.7:3.10", when="@0.12:0", type=("build", "link", "run"))
depends_on("python@3.7:3.9", when="@0.11", type=("build", "link", "run"))
depends_on("python@3.6:3.9", when="@0.7.2:0.10", type=("build", "link", "run"))
depends_on("python@3.6:3.8", when="@0.6:0.7.0", type=("build", "link", "run"))
depends_on("python@3.5:3.8", when="@0.5", type=("build", "link", "run"))
depends_on("python@2.7,3.5:3.8", when="@0.4", type=("build", "link", "run"))
# CMakelists.txt
depends_on("cmake@3.18:", when="@0.10:", type="build")
depends_on("cmake@3.5:", when="@0.8:", type="build")
depends_on("ninja", when="@0.8:", type="build")
# setup.py
depends_on("py-setuptools", type="build")
depends_on("py-pybind11", when="@0.12:", type=("build", "link"))
depends_on("pkgconfig", type="build")
depends_on("sox")
# https://github.com/pytorch/audio#dependencies
depends_on("py-torch@master", when="@main", type=("build", "link", "run"))
depends_on("py-torch@2.0.1", when="@2.0.2", type=("build", "link", "run"))
depends_on("py-torch@2.0.0", when="@2.0.1", type=("build", "link", "run"))
depends_on("py-torch@1.13.1", when="@0.13.1", type=("build", "link", "run"))
depends_on("py-torch@1.13.0", when="@0.13.0", type=("build", "link", "run"))
depends_on("py-torch@1.12.1", when="@0.12.1", type=("build", "link", "run"))
depends_on("py-torch@1.12.0", when="@0.12.0", type=("build", "link", "run"))
depends_on("py-torch@1.11.0", when="@0.11.0", type=("build", "link", "run"))
depends_on("py-torch@1.10.2", when="@0.10.2", type=("build", "link", "run"))
depends_on("py-torch@1.10.1", when="@0.10.1", type=("build", "link", "run"))
depends_on("py-torch@1.10.0", when="@0.10.0", type=("build", "link", "run"))
depends_on("py-torch@1.9.1", when="@0.9.1", type=("build", "link", "run"))
depends_on("py-torch@1.9.0", when="@0.9.0", type=("build", "link", "run"))
depends_on("py-torch@1.8.2", when="@0.8.2", type=("build", "link", "run"))
depends_on("py-torch@1.8.1", when="@0.8.1", type=("build", "link", "run"))
depends_on("py-torch@1.8.0", when="@0.8.0", type=("build", "link", "run"))
depends_on("py-torch@1.7.1", when="@0.7.2", type=("build", "link", "run"))
depends_on("py-torch@1.7.0", when="@0.7.0", type=("build", "link", "run"))
depends_on("py-torch@1.6.0", when="@0.6.0", type=("build", "link", "run"))
depends_on("py-torch@1.5.1", when="@0.5.1", type=("build", "link", "run"))
depends_on("py-torch@1.5.0", when="@0.5.0", type=("build", "link", "run"))
depends_on("py-torch@1.4.1", when="@0.4.0", type=("build", "link", "run"))
def setup_build_environment(self, env):
# tools/setup_helpers/extension.py
env.set("BUILD_SOX", 0)
if "+cuda" in self.spec["py-torch"]:
env.set("USE_CUDA", 1)
torch_cuda_arch_list = ";".join(
"{0:.1f}".format(float(i) / 10.0)
for i in self.spec["py-torch"].variants["cuda_arch"].value
)
env.set("TORCH_CUDA_ARCH_LIST", torch_cuda_arch_list)
else:
env.set("USE_CUDA", 0)
if "+rocm" in self.spec["py-torch"]:
env.set("USE_ROCM", 1)
else:
env.set("USE_ROCM", 0)
|