<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/bd5379882e17cb1f0819c5b3364b6e0aa028f738">https://github.com/macports/macports-ports/commit/bd5379882e17cb1f0819c5b3364b6e0aa028f738</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new bd5379882e1 py-pytorch: Add Apple MPS GPU hardware acceleration, Apple Silicon support
</span>bd5379882e1 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit bd5379882e17cb1f0819c5b3364b6e0aa028f738
</span>Author: Steven Thomas Smith <s.t.smith@ieee.org>
AuthorDate: Mon Aug 1 10:57:53 2022 -0400
<span style='display:block; white-space:pre;color:#404040;'> py-pytorch: Add Apple MPS GPU hardware acceleration, Apple Silicon support
</span>---
python/py-pytorch/Portfile | 73 +++++++++++++++++++++++++++++++++-------------
1 file changed, 52 insertions(+), 21 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pytorch/Portfile b/python/py-pytorch/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 750d12de906..79e9f1a17b9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-pytorch/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-pytorch/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8,12 +8,12 @@ PortGroup python 1.0
</span>
name py-pytorch
version 1.12.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 1
</span> github.setup pytorch pytorch ${version} v
fetch.type git
platforms darwin
<span style='display:block; white-space:pre;background:#ffe0e0;'>-supported_archs x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supported_archs arm64 x86_64
</span>
license BSD
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -44,7 +44,35 @@ compiler.cxx_standard 2017
</span> compiler.blacklist-append *gcc* {clang < 800} {macports-clang-3.[0-9]} macports-clang-4.0
variant mkl description {Enable Intel Math Kernel Library support} { }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-default_variants-append +mkl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.arch} in [list i386]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default_variants-append +mkl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant mps description {Enable Apple Metal Performance Shaders (MPS) support} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ use_xcode yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ APPLE=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ USE_MPS=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ USE_PYTORCH_METAL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ USE_PYTORCH_METAL_EXPORT=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ notes-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The port ${subport} is built with Apple Metal Performance Shaders (MPS)\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+support for GPU hardware acceleration. To enable Apple GPU devices,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use device \"mps\". Matrix multiplication example:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import torch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mpsDevice = torch.device(\"mps\" if\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ torch.backends.mps.is_available() else \"cpu\")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ x = torch.randn((10_000, 1_000), device=mpsDevice)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cov = (x.T @ x)/x.shape\[0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default_variants-append +mps
</span>
if {${os.platform} eq "darwin" && ${os.major} <= 15} {
known_fail yes
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -123,25 +151,28 @@ if {${name} ne ${subport}} {
</span> depends_build-append port:py${python.version}-mkl-include
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # ZSTD support broke with 1.2.0-1.3.1. Check with future releases.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.ccache yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # ZSTD support broke with 1.2.0-1.12.0. Check with future releases.
</span> build.env-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- CMAKE_LIBRARY_PATH=${prefix}/lib:${prefix}/lib/libomp \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIBRARY_PATH=${prefix}/lib:${prefix}/lib/libomp \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OpenCV_DIR=${prefix}/libexec/opencv4/cmake \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- USE_CUDA=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- USE_GFLAGS=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- USE_GLOG=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- USE_LEVELDB=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- USE_LITE_PROTO=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- USE_LMDB=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- USE_METAL=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- USE_NCCL=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- USE_OPENCV=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- USE_OPENMP=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- USE_ROCM=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- USE_TBB=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- USE_ZMQ=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- USE_ZSTD=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CMAKE_LIBRARY_PATH=${prefix}/lib:${prefix}/lib/libomp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBRARY_PATH=${prefix}/lib:${prefix}/lib/libomp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OpenCV_DIR=${prefix}/libexec/opencv4/cmake \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ USE_CCACHE=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ USE_CUDA=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ USE_GFLAGS=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ USE_GLOG=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ USE_LEVELDB=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ USE_LITE_PROTO=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ USE_LMDB=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ USE_METAL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ USE_NCCL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ USE_OPENCV=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ USE_OPENMP=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ USE_ROCM=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ USE_TBB=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ USE_ZMQ=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ USE_ZSTD=OFF
</span>
build.dir ${worksrcpath}
build.post_args
</pre><pre style='margin:0'>
</pre>