/
package.py
51 lines (41 loc) · 1.71 KB
/
package.py
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
# Copyright 2013-2024 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 PyTorchScatter(PythonPackage):
"""PyTorch Extension Library of Optimized Scatter Operations."""
homepage = "https://github.com/rusty1s/pytorch_scatter"
pypi = "torch-scatter/torch_scatter-2.1.2.tar.gz"
git = "https://github.com/rusty1s/pytorch_scatter.git"
license("MIT")
maintainers("adamjstewart")
version("2.1.2", sha256="69b3aa435f2424ac6a1bfb6ff702da6eb73b33ca0db38fb26989c74159258e47")
version(
"2.0.5",
sha256="148fbe634fb9e9465dbde2ab337138f63650ed8abbac42bb3f565e3fe92e9b2f",
deprecated=True,
)
depends_on("python", type=("build", "link", "run"))
depends_on("py-setuptools", type="build")
# Undocumented dependencies
depends_on("py-torch", type=("build", "link", "run"))
# Historical dependencies
depends_on("py-pytest-runner", type="build", when="@:2.0.7")
def setup_build_environment(self, env):
if self.spec.satisfies("@2.0.6:"):
if "+cuda" in self.spec["py-torch"]:
env.set("FORCE_CUDA", 1)
env.set("FORCE_ONLY_CUDA", 0)
env.set("FORCE_ONLY_CPU", 0)
else:
env.set("FORCE_CUDA", 0)
env.set("FORCE_ONLY_CUDA", 0)
env.set("FORCE_ONLY_CPU", 1)
else:
if "+cuda" in self.spec["py-torch"]:
env.set("FORCE_CUDA", 1)
env.set("FORCE_CPU", 0)
else:
env.set("FORCE_CUDA", 0)
env.set("FORCE_CPU", 1)