<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>