aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenda Xu <heroxbd@gentoo.org>2021-01-24 21:27:51 +0800
committerBenda Xu <heroxbd@gentoo.org>2021-01-24 21:38:00 +0800
commitf4f6740dd370885258be7c6f97f08e37143489dd (patch)
treeae11e3e16a9bcff60888f44d63e1b30a36972a54
parentmedia-gfx/brlcad: add missing slash (diff)
downloadsci-f4f6740dd370885258be7c6f97f08e37143489dd.tar.gz
sci-f4f6740dd370885258be7c6f97f08e37143489dd.tar.bz2
sci-f4f6740dd370885258be7c6f97f08e37143489dd.zip
sci-libs/pytorch: bump to 1.7.1.
Add ROCm support for AMD GPUs. Remove fine-grained BLAS flags, use a general USE=blas and rely on eselect-ldso for runtime switch of blas libraries. merge USE=numpy into USE=python. Suggested-by: Yiyang Wu <xgreenlandforwyy@gmail.com> Bug: https://bugs.gentoo.org/650804 Bug: https://github.com/gentoo/gentoo/pull/10724 Closes: https://github.com/justxi/rocm/issues/133 Closes: https://github.com/gentoo/sci/issues/1039 Closes: https://github.com/gentoo/sci/issues/1011 Package-Manager: Portage-3.0.12, Repoman-3.0.1 RepoMan-Options: --force Signed-off-by: Benda Xu <heroxbd@gentoo.org>
-rw-r--r--sci-libs/pytorch/Manifest33
-rw-r--r--sci-libs/pytorch/files/0002-Don-t-build-libtorch-again-for-PyTorch-1.7.1.patch18
-rwxr-xr-xsci-libs/pytorch/files/get_third_parties20
-rw-r--r--sci-libs/pytorch/files/pytorch-1.7.1-no-rpath.patch12
-rw-r--r--sci-libs/pytorch/files/pytorch-1.7.1-setup.patch12
-rw-r--r--sci-libs/pytorch/files/pytorch-1.7.1-tensorpipe-unbundle-libuv.patch12
-rw-r--r--sci-libs/pytorch/files/pytorch-1.7.1-torch_shm_manager.patch13
-rw-r--r--sci-libs/pytorch/metadata.xml1
-rw-r--r--sci-libs/pytorch/pytorch-1.7.1-r2.ebuild292
9 files changed, 413 insertions, 0 deletions
diff --git a/sci-libs/pytorch/Manifest b/sci-libs/pytorch/Manifest
index e24102c94..feaaba61d 100644
--- a/sci-libs/pytorch/Manifest
+++ b/sci-libs/pytorch/Manifest
@@ -1,25 +1,58 @@
+DIST FP16-4dfe081c.tar.gz 71301 BLAKE2B f6a2115a82ca9acd7ccb1bf94c59f68e6ffea4b0e20aa5152349a10119b45d8ba45f5673899b6f18ee044289a51141944e41d7b0972889afc1d93db88d88ed7c SHA512 e79a1f6f8d4aeca85982158d5b070923d31d4f2062ed84cfa6f26c47a34f2e8ac49e0f330b7d49f5732d5e1eec6e7afccdac43645070060fb7827e2ce261dd3e
DIST FP16-4dfe081cf.tar.gz 71301 BLAKE2B f6a2115a82ca9acd7ccb1bf94c59f68e6ffea4b0e20aa5152349a10119b45d8ba45f5673899b6f18ee044289a51141944e41d7b0972889afc1d93db88d88ed7c SHA512 e79a1f6f8d4aeca85982158d5b070923d31d4f2062ed84cfa6f26c47a34f2e8ac49e0f330b7d49f5732d5e1eec6e7afccdac43645070060fb7827e2ce261dd3e
+DIST FXdiv-b408327a.tar.gz 9652 BLAKE2B ce2082f9e0ec55ab43cfee57e29cfc8f1957bdde70c1bbeadc599ac34ed8ade9d1334e68583a0fb14b4405357cc1039579b09fff4b39a5190bdae304c4ea3de3 SHA512 d46d7c1437eccf8dc5ab5e51b0641d190839451ab059c8a24a220a9cf05a84a66b5d08c3ff730622efe491152a8378a2c726fd9abad19a3df98db40d6a13e4b9
DIST FXdiv-b408327ac.tar.gz 9652 BLAKE2B ce2082f9e0ec55ab43cfee57e29cfc8f1957bdde70c1bbeadc599ac34ed8ade9d1334e68583a0fb14b4405357cc1039579b09fff4b39a5190bdae304c4ea3de3 SHA512 d46d7c1437eccf8dc5ab5e51b0641d190839451ab059c8a24a220a9cf05a84a66b5d08c3ff730622efe491152a8378a2c726fd9abad19a3df98db40d6a13e4b9
+DIST NNPACK-24b55303.tar.gz 219131 BLAKE2B 7fbc786d59352270d7b3664c46ab9401a0199aa8973cdbe8385840354f576eb945faa93be7070dafc9e453a415af227f5f64ffc21a33fd28e4c7a9ec94ca00b3 SHA512 43d6c69f19f9604809a2cc9cd9f8f027ff1f3dc2bac106429df1a0cf65f3f8b8fc3ec4c6b76a29decf3584440ad4c83f800ae2f8bfdc9b73df903a076cd97a18
DIST NNPACK-24b55303f.tar.gz 219131 BLAKE2B 7fbc786d59352270d7b3664c46ab9401a0199aa8973cdbe8385840354f576eb945faa93be7070dafc9e453a415af227f5f64ffc21a33fd28e4c7a9ec94ca00b3 SHA512 43d6c69f19f9604809a2cc9cd9f8f027ff1f3dc2bac106429df1a0cf65f3f8b8fc3ec4c6b76a29decf3584440ad4c83f800ae2f8bfdc9b73df903a076cd97a18
+DIST PeachPy-07d8fde8.tar.gz 401648 BLAKE2B c563cd77a9e2eda34bbec6a34f94111a6db9500b7cda9a18e791984b789c29dde7199ed21696f10cdfb088b05e18163b02a8ca8c9e48a91b9e4a757020f096b0 SHA512 8d6cc91c8c4d56b86ef93f0acd6768a1830ecd078524b21d1a3b9ecb015f06607070148de3e634d9c5ce63ed523a8e34aa388d490e7eee061200098f39126afa
DIST PeachPy-07d8fde8a.tar.gz 401648 BLAKE2B c563cd77a9e2eda34bbec6a34f94111a6db9500b7cda9a18e791984b789c29dde7199ed21696f10cdfb088b05e18163b02a8ca8c9e48a91b9e4a757020f096b0 SHA512 8d6cc91c8c4d56b86ef93f0acd6768a1830ecd078524b21d1a3b9ecb015f06607070148de3e634d9c5ce63ed523a8e34aa388d490e7eee061200098f39126afa
+DIST QNNPACK-7d2a4e99.tar.gz 205600 BLAKE2B f174051cba9e3307633f0b12326a37d8fde23562d47e09d3c078350146439094ca6cb2f032cf3aa4af40e5968ee16b8847241f787f7c84ea501124e0528fb82d SHA512 437a835acfedae851a9a8572fa6eea9854dcb8bcca499bc4a2582314e44f5f199778e857932da4aecf943bea7cb2eb5b1c41d4b4ca6075bddbe0f18b2c7b9127
DIST QNNPACK-7d2a4e993.tar.gz 205600 BLAKE2B f174051cba9e3307633f0b12326a37d8fde23562d47e09d3c078350146439094ca6cb2f032cf3aa4af40e5968ee16b8847241f787f7c84ea501124e0528fb82d SHA512 437a835acfedae851a9a8572fa6eea9854dcb8bcca499bc4a2582314e44f5f199778e857932da4aecf943bea7cb2eb5b1c41d4b4ca6075bddbe0f18b2c7b9127
+DIST XNNPACK-1b354636.tar.gz 1353346 BLAKE2B ce286e1a1f14aa195baffa48ef8c21c4ae0ec85ae89169a429fc06077e34f28302930e081cf464dbe78252bb065a247b65b61d8aa3872375043176d150f97651 SHA512 9e7528334a8e3df18a54fce44a122fb6d989a946bb456b01f81772f160bd6532fad460e787c976bbdd76ebaa78cd1c64329ffeb498c5d27e1cd53195bb8a9db4
DIST XNNPACK-1b354636b.tar.gz 1353346 BLAKE2B ce286e1a1f14aa195baffa48ef8c21c4ae0ec85ae89169a429fc06077e34f28302930e081cf464dbe78252bb065a247b65b61d8aa3872375043176d150f97651 SHA512 9e7528334a8e3df18a54fce44a122fb6d989a946bb456b01f81772f160bd6532fad460e787c976bbdd76ebaa78cd1c64329ffeb498c5d27e1cd53195bb8a9db4
DIST asmjit-9057aa30.tar.gz 534633 BLAKE2B faec98981c67110294e4135a9cb7f47b038d44a02483728a4c79c7094da62b8a6a1c805eba69f1258a99b24b699823f02516c50d166a96eb5ff65227406f402e SHA512 678e5ce4a8d96961be4c10aac67d43aa8949ff022dce855a92cf6d626738be8667668c48953d43b6ef21ad7c5f913d07f7f692ad719870700aa97deb80662baf
+DIST benchmark-505be96a.tar.gz 129647 BLAKE2B d9f435f464fa1db18b86258947b8c5077b8b20b9c26ca00aeeca79da604f299f776673c374b7d0db10a5d40cbc84774642b29e756a83f02cda5d085280387346 SHA512 2ec79b66c31d4741b214c04f7865cf0139b4c0b14a8fb2a70bf332cf90e73821282b510719689bc2fe59542ee51c87e9f9b49a47b6a67cad897f7f906f0b05e9
DIST benchmark-505be96ab.tar.gz 129647 BLAKE2B d9f435f464fa1db18b86258947b8c5077b8b20b9c26ca00aeeca79da604f299f776673c374b7d0db10a5d40cbc84774642b29e756a83f02cda5d085280387346 SHA512 2ec79b66c31d4741b214c04f7865cf0139b4c0b14a8fb2a70bf332cf90e73821282b510719689bc2fe59542ee51c87e9f9b49a47b6a67cad897f7f906f0b05e9
+DIST benchmark-5b7683f4.tar.gz 102332 BLAKE2B a7210a2c7a173a9df8bf03b83fc9712d5b52ded13c932e4d13a93004b93ad816895b722acc941b1d94c6b403e4ccb846141f5a38f42baafc5fb3cb108c039559 SHA512 a4e69ee8ec824e418abd713cb3597175cd40ecee9bc539e2d3592f9ec0f8ee54e7466984874f410b78beee82b4c396a7f2824880f808c4217704cf9970411ebf
+DIST benchmark-e776aa02.tar.gz 126890 BLAKE2B 389a4fc0bfedc20227de31d4b1447b8370300a8e3cbea8a8d4b1c82ee90757c2a035ea0324e762217f5a6279a4277f431b7e511d8a9a3bcf226fe31c0022b83c SHA512 d9f70c617af75683dfcf5a0d7ff14b3374258bcf869e3b69b23e85c980366cc4f9859fef3d3dd84a2a92933729053eb02663eaf4bbe0a020a2e001f42b85230d
+DIST cpuinfo-63b25457.tar.gz 3495405 BLAKE2B bb7cefa2bfe6e44134c52b8ba8048a84f0063623e566e89dd92ed6ff5e383a150c554a45b66ee5c4ba6d1544de948ac978ab6e53101399d4768bace20110b4e6 SHA512 44f4a55eea9c0d707818dedfec26f007c2bc2271c7bf9375e6e30171384fb0fa2e1d5731cb946570c717e6d88e6b1496d498e6e55dbf37d66174a4c675a3a006
DIST cpuinfo-63b254577.tar.gz 3495405 BLAKE2B bb7cefa2bfe6e44134c52b8ba8048a84f0063623e566e89dd92ed6ff5e383a150c554a45b66ee5c4ba6d1544de948ac978ab6e53101399d4768bace20110b4e6 SHA512 44f4a55eea9c0d707818dedfec26f007c2bc2271c7bf9375e6e30171384fb0fa2e1d5731cb946570c717e6d88e6b1496d498e6e55dbf37d66174a4c675a3a006
+DIST cpuinfo-d5e37adf.tar.gz 3489028 BLAKE2B aa6b7719eb9871b6cc71318cb4a9c2e2397e665662b7978daecd9e8380304691a78b95118eba5cbbb738c4b490352a847f6ce6b5c4ae29de0543b95ecc557cbb SHA512 ecd2115340fa82a67db7889ce286c3070d5ab9c30b02372b08aac893e90ccebc65c6b3e66aa02a9ae9c57892d2d8c3b77cb836e5fc3b88df2c75d33e574d90d2
+DIST cub-d106ddb9.tar.gz 398104 BLAKE2B 287f020189be877c7a9e667bdfb591da14046199b7336074040c3301d69110c8408d89a72cdcd74d8519deb200ec61823a6d2160d4ecbd00002338651dbf312e SHA512 8d65c0407448125378495190ee2a2c0e3b27a3577efbd6bb5aa8ad76f5bf2bf17becdc6ef931672a4d16b033fd7c0a199bb60e62b0b2b311e5f59c4136f55835
DIST cub-d106ddb99.tar.gz 398104 BLAKE2B 287f020189be877c7a9e667bdfb591da14046199b7336074040c3301d69110c8408d89a72cdcd74d8519deb200ec61823a6d2160d4ecbd00002338651dbf312e SHA512 8d65c0407448125378495190ee2a2c0e3b27a3577efbd6bb5aa8ad76f5bf2bf17becdc6ef931672a4d16b033fd7c0a199bb60e62b0b2b311e5f59c4136f55835
+DIST fbgemm-1d710393.tar.gz 259645 BLAKE2B 7b159c67ee66679985758f59b001aea02f141e2a36af2dd12731bd260ba5a5834a2a5eefd9b8b43454a0d4c75df929fa302e7ba0e5210ee67c150b405d3b4cac SHA512 19bbc9ed274bced7b8453d9ec4f43bb998725764aeeee72782abff36fc77e9ef918396f5c462da7b448e9a3bb7a834f143cfdf6777ef0cdddada63bc2bf98761
DIST fbgemm-87c378172.tar.gz 244850 BLAKE2B 322d892cc34921c9ffd7b9faf67804f3cfc3a427281e12afeeca4af3df37a8aa47198695e28e33feb836605d29925f566a4a290206ce6209478af87883561564 SHA512 42e678560dc774694ed6e2eb7d62a0284532be9c206aa1e056810e00bb7c06d557541e0ce56446735e163d480b504854e45cce9d7f23368974c500ecfe6e9961
DIST fmt-9bdd1596c.tar.gz 733867 BLAKE2B b5c62ea43bfd99268dd120d5a09eb5f80bc29411268367e63bdf7034aeb98c9aed00da019ad6e259922adbb849b4484353142e9d3449a256909e72f4a50ddee4 SHA512 3639b4984a88fc5495c6cb1a0a09bb0a13f5dc05286f5a2b15e60dfda780bcc1fe213497006cc27247c3c358be27d8af4dd995db2b3de0f6a5a1288dc1058585
+DIST fmt-cd4af11e.tar.gz 740467 BLAKE2B da998415363b8205cb3be5c677ff8c3ea4aa5636741a5cfe45d7b6e54c1f6d0a36696158e2e21f37978323a11150e01efb2793de6a42af4ed19aac52381e0afc SHA512 24b42288be97849533dc82282fc08833d74642ad2afeb511e65c6389d88c709cf25345dec5b550c18af3705f4c0847fa0d4066308b51cd41ccfdda1a2c3babd0
+DIST foxi-4aba696e.tar.gz 28740 BLAKE2B 54b2eb9610f402b89ed64b0f487326a58c8ecf9a195d0081329e4b55cc531bca45065f10176ba29ff7cc18b29c89ba7f0aa5046c35a78c562986e8dab40451e8 SHA512 6aec53e9489f87fab6ef70ddef20854f551ccc54368800f7c465c73858f13fd6db8f031fb6db43c9e26c1fd13d65389501d1db97148afc518277f4f95a5367d6
DIST foxi-8015abb72.tar.gz 28571 BLAKE2B d64b00bb81e43a9b1f55f640ab6e6845d33e01520daf7e1b56cd6ef3f82b38c5c8d6cb5c54d55302524f46a6ca2fbc43ef1aa3ee0fba563a8de502a8c4720175 SHA512 94c8c25d90273941161e04bedee521d3f7bbb296c125083e1d3c1421210b18758917d95c95bbd213c8eb19ad36f4e088c943816505e7fc462aecf12e00ebd2f6
+DIST gemmlowp-3fb5c176.tar.gz 826382 BLAKE2B c5e68cb78429fe8ce96c752270e747382287937d0a0c1af26b444eda495a78438193c54900cd7906b34b369e170d582c5599f541d23d1280e38f972d6daea1ea SHA512 1c97bba41931c7fddf0e7c01312892cfa3d87abe2a4cdaf4cd20d846a102c5ad3d85329ccdb386f7047f2f037e92639cbcf91b317c2bf38bee11c12e71584afc
DIST gemmlowp-3fb5c176c.tar.gz 826382 BLAKE2B c5e68cb78429fe8ce96c752270e747382287937d0a0c1af26b444eda495a78438193c54900cd7906b34b369e170d582c5599f541d23d1280e38f972d6daea1ea SHA512 1c97bba41931c7fddf0e7c01312892cfa3d87abe2a4cdaf4cd20d846a102c5ad3d85329ccdb386f7047f2f037e92639cbcf91b317c2bf38bee11c12e71584afc
DIST gloo-3d08580f9.tar.gz 227739 BLAKE2B 3b011cc8ae08da36a917860dd58b87bc5b08c7189926b2f5bfaf839a9d53c5e7dee881e836f659e90269149eba6d80807e3a8e450b31f71220ba442ab59a389a SHA512 3dee533b350862cabce410f054fd943b4524b60394da1e92b9c73830e143b9abd30e5a493fe0c064d6fee8c15bd09b12620f0b528122170df329548c57116bd1
+DIST gloo-3dc0328f.tar.gz 231048 BLAKE2B aa06ea3ca8c522652a405c0b56662bc5bd0eba5ef38770aaa2a078a8fd19fd1eeaa2e1007e537e584c5b07a84abe991c810f2a9c73e5b8df820dacde703bb81a SHA512 a6401f4b5e91130a7880a6742c075fdeb94026c3a04a57ce59b6dabc78b44d2f5e93803b3a7289e0c116bde4366536bb55f6dfd91a9a0d8af9640a81e3e4fe7b
+DIST googletest-0fc5466d.tar.gz 993626 BLAKE2B f80e5d7e92c665a964add6370b6420ac00b0309768d21d52ce74e87b548293e05271456c63d171eb36389c601febc3514ea81d991145b1921e27f38e5fc0e084 SHA512 ac57b52454c027d4c14b0ca339ff4b5d36b66da38c7420164c44c11c214b617c79cf690b74b6f2f233b5df5dff200d97afa40c9b814f8b6117cd3d9e382a20c5
+DIST googletest-2fe3bd99.tar.gz 993527 BLAKE2B fa631eadc310607dbe19cec6d66d8fb1c5e99e2dfc5031fff26f8c12c951d7798ad2062edf21589020cafc821bfe4b5e89310ee4e85f45d7d7fcd435ddd5eef9 SHA512 130182d2c1067bcd263fb27999c164d240f5d06d837475e71e7cadbf65c7211de00154dc1e15deae0b6ec2963799e55c0c21ee971e1c588064c5063e69a2bf1e
DIST googletest-2fe3bd994.tar.gz 993527 BLAKE2B fa631eadc310607dbe19cec6d66d8fb1c5e99e2dfc5031fff26f8c12c951d7798ad2062edf21589020cafc821bfe4b5e89310ee4e85f45d7d7fcd435ddd5eef9 SHA512 130182d2c1067bcd263fb27999c164d240f5d06d837475e71e7cadbf65c7211de00154dc1e15deae0b6ec2963799e55c0c21ee971e1c588064c5063e69a2bf1e
+DIST googletest-5ec7f0c4.tar.gz 961649 BLAKE2B 2c518a4006e7a9decff3d4b81c30a910c01f6bf2a71593da25f6e74d5117cbf56de486078a3caf6be255df473fc1c2a04de5317cf882396114be0625d67d041b SHA512 623b077b3334958fafcbc34aa85891883277994af33be530efd903f47738a3e3562001cbf3b6da1a5e7d03803c5bd51bcc1fab81490db85d5a4f2b15e7de1495
DIST ideep-938cc6889.tar.gz 27315 BLAKE2B 967bff56175d6f6b6e9895ef8e7ecf22f2bcbc4aa33074654b8c527165beb280e70c1b39da37ae2cd432eaa8d0ec600b83282d86faac05e17319dbd647f22107 SHA512 24a3f0b35756e3892af99658f7de7d17dff369601ffa7d39a6e2c3609c9c667f341cc66b6664fb69c4d938a1f7b3454e7106b8e27ec9995be5ad2d541927e2e1
+DIST ideep-ba885200.tar.gz 27307 BLAKE2B 710dde31a8784315c88df9869e50c3940416263958ab653bce9876d60786906565b12f36c2d716a8a1f6009bc9e532e06733ddfac0d4079dba13ea153b8acbd9 SHA512 0c1bca04adbe797e5767f8b86fb3b247a2a287ffa2b3b19a918f976312175b459a6488166d12cf55e68c9aced84038fcda0d1d1c51a5034c83f844f51d462727
+DIST libnop-aa95422e.tar.gz 124202 BLAKE2B 5a74ecbf473dba09db1a11172a4aa432d81b14adb3826bef9aa8bae1bf1e2d0d5a7bf775fd4343fa9d7b235b17cafe949e47c903e92fd5eae9cc0717a552ea45 SHA512 62b21be874d2117294925c2497394d166da43d534776764c9c124699b5799d99790a2c6420804f8e143e1a18a536106852082f3a9d0052a726abc624fc19f937
+DIST libuv-02a9e1be.tar.gz 1250418 BLAKE2B 49d7c6161614218bf856f7e23cd3e483bf1ac682bdc78b9624b9b5b52edde31aae005638bbc01e89f01421097e0bd4e07893db464326741ca6d1abaf45e633fe SHA512 de6d5d014b61804884a3945f2992f4aecf642fdd330927aa9a3bc17b76c29c51f6615d3d04542b24bb9ccdfd5207155e282f2fcd3aac14233d5bde4b1bc30284
+DIST mkl-dnn-5ef631a0.tar.gz 5799312 BLAKE2B ea2aafcf45adadb0546781b00b44a0e9712c28e4937ef4daeef8b910e76bbb152e5434e45bec2aae0f6cb86fd7b5098e61842d7e99258db6fa846a79996d2e23 SHA512 66df9ea574010616df46d85ef25d23bd9ed31f9719cdbec4c727de58728fe095cd412d7663c2d456dba2f26848e45c1d67e34bffe4e25beeef9c1d40f187e8d6
+DIST nccl-033d7995.tar.gz 146624 BLAKE2B b6f15d5d4690a5cbcf882c10826def400a14c58ff5f5af276b5b9a615a567de36ca907120cc681cdf2f2eb207f22bc87ee87d145a365097a64fb3d9de82432fb SHA512 3b3e087cb729b10e3251dfef52196bddd33e3e777df289c5fc537e99473e78f8720255fbd3e14ae2d2a6126d1e9d59aa6d57d7c7958d919e65834fef92c1c835
DIST nccl-5949d96f3.tar.gz 147548 BLAKE2B f3d3dd222ae90ac9ac1457a9695f112a21f5652a5b40e10ac049da910f07707b1c3910f59734fbe5e2c6523c1e83f3801f809efa77d122a57e859828c74ba8c2 SHA512 d9ea83caf7940fb47134293236fcb7478c0d4e40365d3b0a29427758e2e2dbb980c5e8c05fc9fc3956ed5e21a82ec0efaa31d973fe9c73fa3f50465f76756131
+DIST onnx-765f5ee8.tar.gz 2379139 BLAKE2B 3e3299e2f3c1184937820b137d5fb492abe216ae3a054f4a17c6cb037168f4a77d8c90db0ba657ba9c9f7af2099f71ae0b8658a573c9f2f6d29fbc9d5f0f1b8a SHA512 7e10717546d1ed0bab780768e907f957294bfda47748b4c7576b75a761f5e006fdd21f0b014ce6d761a0ac6ae59dd8bc71592785b67167a6b3692d1a56dbbda9
+DIST onnx-a82c6a70.tar.gz 4874549 BLAKE2B 055f89d63c03304264b7dd64d5eb6c892a4a280693001ca932f0d352379630870d96dadd6e734b1ec1044cfd92856cd9bb362021a6424ef79e6a408a9c17bc3c SHA512 1ead6644cd28198a428ebcd0f127343c6cbcfdbf39a0832c62ee5ee320a06c655448f508406637702e2da33057c92f76da12302b403ac339a5cad8ea4b5ebab2
DIST onnx-a82c6a701.tar.gz 4874549 BLAKE2B 055f89d63c03304264b7dd64d5eb6c892a4a280693001ca932f0d352379630870d96dadd6e734b1ec1044cfd92856cd9bb362021a6424ef79e6a408a9c17bc3c SHA512 1ead6644cd28198a428ebcd0f127343c6cbcfdbf39a0832c62ee5ee320a06c655448f508406637702e2da33057c92f76da12302b403ac339a5cad8ea4b5ebab2
+DIST onnx-tensorrt-c1532114.tar.gz 72464 BLAKE2B 45301706ca5c91c39e24db84e1dc4e968a8540b760d7b16df08f3a76c407dfceb38962520d822b84618be088fc3d69431f738a8bc7b0f578c84f35234061e99a SHA512 9e814b5dfc3a65ddba229bbddada4c686afab233463329a02cea176b6b1994643f9835ce44a84a9ac1a49e12a7fe2325fd6cd9d2d99a422284089df0202a69a5
DIST onnx-tensorrt-c15321141.tar.gz 72464 BLAKE2B 45301706ca5c91c39e24db84e1dc4e968a8540b760d7b16df08f3a76c407dfceb38962520d822b84618be088fc3d69431f738a8bc7b0f578c84f35234061e99a SHA512 9e814b5dfc3a65ddba229bbddada4c686afab233463329a02cea176b6b1994643f9835ce44a84a9ac1a49e12a7fe2325fd6cd9d2d99a422284089df0202a69a5
+DIST psimd-072586a7.tar.gz 6825 BLAKE2B db255d2a62ffa320b1e190a7a9ac923d812e918a72ce8ecfeeb926709ece92d05497430196b0fc833d910b9d24bf0140d20bcce1de695e1c39211158440608db SHA512 a18faea093423dd9fe19ece8b228e011dccce0a2a22222f777ea19b023a13173966d4a8aea01147e8fc58de5d39cffcedeb2221a1572ae52bd5aba1295f86a94
DIST psimd-072586a71.tar.gz 6825 BLAKE2B db255d2a62ffa320b1e190a7a9ac923d812e918a72ce8ecfeeb926709ece92d05497430196b0fc833d910b9d24bf0140d20bcce1de695e1c39211158440608db SHA512 a18faea093423dd9fe19ece8b228e011dccce0a2a22222f777ea19b023a13173966d4a8aea01147e8fc58de5d39cffcedeb2221a1572ae52bd5aba1295f86a94
+DIST pthreadpool-029c8862.tar.gz 45970 BLAKE2B 09bd7d258f45fbe703238826b7435d8a5d013700cd734282b646420ba0854c0a386712f6bc3ed44e7496d51471b1e0a965f01ebdb09786e2020d979ecddb767a SHA512 b51099fa9d62065883cc43dcd5f9717a17be5ee2e87fc861667172a09acb3a62929c8bbc8a5c0c00885a638af0ec2ae4149adde2ba85bf3c80834f9b973c2d5b
DIST pthreadpool-029c88620.tar.gz 45970 BLAKE2B 09bd7d258f45fbe703238826b7435d8a5d013700cd734282b646420ba0854c0a386712f6bc3ed44e7496d51471b1e0a965f01ebdb09786e2020d979ecddb767a SHA512 b51099fa9d62065883cc43dcd5f9717a17be5ee2e87fc861667172a09acb3a62929c8bbc8a5c0c00885a638af0ec2ae4149adde2ba85bf3c80834f9b973c2d5b
DIST pytorch-1.6.0.tar.gz 11376568 BLAKE2B 30aac34e14837ed6942ef7577aea77752cd9c809cb751fa837693b2b60eeda9a371421c4b4678fe94763a47e434b65ea60afc56aec7863887ba12bf362b96f0a SHA512 117ff1588ed1ebd0df15fbed066c65ea026893fe9a40d14aa1f73d848fab114b1b11bd7ed083815030f7fdf13a824480521cb40865f48a24c7028f4d195f2127
+DIST pytorch-1.7.1.tar.gz 13012087 BLAKE2B ff498814178281ca59ae80bfe51dde3ffb0cde1eaa762bd9b36c2ff7f07d4b5ae4d68e10c76158e5e9e4250fcb01265a3755575b761495e20cf677e9a9825454 SHA512 359e271093e7afd374202f48e40356d195f644f78377a0b88f38627ad7aeabb9201a18c12ff35fb4aaf0d731168e511504445d8b4c08e92eed50264e23d81bae
+DIST sleef-7f523de6.tar.gz 1174007 BLAKE2B 58ebdddea912c841a4d917111d81051860631e93abbed43fb9899eff9370181f9227419e87872799a650e6a50cf174d0bf3b90c699a0e0763e903976baf95c9c SHA512 d83b24c34e83b36314344d5b31f1c3b673e38b44bc2d2bbbfdaf2019c3f0e73a83f2d13c6d745ca99d1532c1a3e0fcb4a71bd212e423bec03d610af5dd49e3f3
DIST sleef-7f523de65.tar.gz 1174007 BLAKE2B 58ebdddea912c841a4d917111d81051860631e93abbed43fb9899eff9370181f9227419e87872799a650e6a50cf174d0bf3b90c699a0e0763e903976baf95c9c SHA512 d83b24c34e83b36314344d5b31f1c3b673e38b44bc2d2bbbfdaf2019c3f0e73a83f2d13c6d745ca99d1532c1a3e0fcb4a71bd212e423bec03d610af5dd49e3f3
DIST tensorpipe-3b8089c9c.tar.gz 141980 BLAKE2B 6c2a1e630412e9f8e039d5c44aaed4623f51516d59ee4237b9ec95d5b30970dbf4961aca0d84f1fee621ab8b8f668f0e8dbfbe558614d5651a00d9be21259a88 SHA512 1e9473532b11c23ec7dd9fdb148c0440263ae41f42a7826a4f7e098ed2a7e0c99d5e9df344b310e17098c3d70749a38d20d8af992c4820bebdbd5078d1a20dcc
+DIST tensorpipe-95ff9319.tar.gz 155511 BLAKE2B bc074efe7501fd29fbff177c2782d4be1d514c8f2f5c9fe0fcdcbd0ca3a33bb91cab8fc95e8e5dac1bc4f65d904d0beef3d30f001eab9884b0506edbbee774fd SHA512 5ef38f10c65c49b3feea964c45564196005ebf47b365ed0cf60916215bac4fa04525ec9de007342fe520206b8e8663c0264fd838e89073a752d308418a2b1dd6
diff --git a/sci-libs/pytorch/files/0002-Don-t-build-libtorch-again-for-PyTorch-1.7.1.patch b/sci-libs/pytorch/files/0002-Don-t-build-libtorch-again-for-PyTorch-1.7.1.patch
new file mode 100644
index 000000000..16d2c1f2e
--- /dev/null
+++ b/sci-libs/pytorch/files/0002-Don-t-build-libtorch-again-for-PyTorch-1.7.1.patch
@@ -0,0 +1,18 @@
+diff --git a/setup.py b/setup.py
+index 2db381644c..2241a33015 100644
+--- a/setup.py
++++ b/setup.py
+@@ -307,13 +307,6 @@ def build_deps():
+ check_pydep('yaml', 'pyyaml')
+ check_pydep('typing', 'typing')
+
+- build_caffe2(version=version,
+- cmake_python_library=cmake_python_library,
+- build_python=True,
+- rerun_cmake=RERUN_CMAKE,
+- cmake_only=CMAKE_ONLY,
+- cmake=cmake)
+-
+ if CMAKE_ONLY:
+ report('Finished running cmake. Run "ccmake build" or '
+ '"cmake-gui build" to adjust build options and '
diff --git a/sci-libs/pytorch/files/get_third_parties b/sci-libs/pytorch/files/get_third_parties
new file mode 100755
index 000000000..8c38a9b73
--- /dev/null
+++ b/sci-libs/pytorch/files/get_third_parties
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+path_url() {
+ local dir=$(dirname $1)/
+ git config --file $1 --get-regexp '(path|url)' | sed -r -e "N;s,[^ ]* ([^ ]*)\n[^ ]* ([^ ]*),${dir#./}\1 \2,"
+}
+
+join \
+ <(for gm in $(find . -name '.gitmodules' | sort -r); do path_url $gm; done | sort -u) \
+ <(git submodule status --recursive | awk '{print $2 " " $1}' | sort -u) | \
+while read path url hash; do
+ [[ ${path} =~ (eigen|six|ios|neon2sse|protobuf|pybind11|python-enum|tbb|zstd|fbjni) ]] && continue
+ u=${url%.git}
+ hfull=${hash#-}
+ h=${hfull:0:8}
+ p=$(basename $u)
+ echo "${u}/archive/${h}.tar.gz -> ${p}-${h}.tar.gz" >> SRC_URI
+ [[ $p = fbgemm ]] && p=${p^^}
+ echo "rmdir ${path} && ln -sv \"\${WORKDIR}\"/${p}-${hfull} ${path}" >> src_prepare
+done
diff --git a/sci-libs/pytorch/files/pytorch-1.7.1-no-rpath.patch b/sci-libs/pytorch/files/pytorch-1.7.1-no-rpath.patch
new file mode 100644
index 000000000..eabda092e
--- /dev/null
+++ b/sci-libs/pytorch/files/pytorch-1.7.1-no-rpath.patch
@@ -0,0 +1,12 @@
+diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake
+index b3a892cf88..2c8622870c 100644
+--- a/cmake/Dependencies.cmake
++++ b/cmake/Dependencies.cmake
+@@ -4,7 +4,6 @@ if(APPLE)
+ set(CMAKE_MACOSX_RPATH ON)
+ set(_rpath_portable_origin "@loader_path")
+ else()
+- set(_rpath_portable_origin $ORIGIN)
+ endif(APPLE)
+ # Use separate rpaths during build and install phases
+ set(CMAKE_SKIP_BUILD_RPATH FALSE)
diff --git a/sci-libs/pytorch/files/pytorch-1.7.1-setup.patch b/sci-libs/pytorch/files/pytorch-1.7.1-setup.patch
new file mode 100644
index 000000000..28db5692c
--- /dev/null
+++ b/sci-libs/pytorch/files/pytorch-1.7.1-setup.patch
@@ -0,0 +1,12 @@
+diff --git a/setup.py b/setup.py
+index 2db381644c..01a2e57aea 100644
+--- a/setup.py
++++ b/setup.py
+@@ -294,7 +294,6 @@ def build_deps():
+
+ check_file(os.path.join(third_party_path, "gloo", "CMakeLists.txt"))
+ check_file(os.path.join(third_party_path, 'cpuinfo', 'CMakeLists.txt'))
+- check_file(os.path.join(third_party_path, 'tbb', 'Makefile'))
+ check_file(os.path.join(third_party_path, 'onnx', 'CMakeLists.txt'))
+ check_file(os.path.join(third_party_path, 'foxi', 'CMakeLists.txt'))
+ check_file(os.path.join(third_party_path, 'QNNPACK', 'CMakeLists.txt'))
diff --git a/sci-libs/pytorch/files/pytorch-1.7.1-tensorpipe-unbundle-libuv.patch b/sci-libs/pytorch/files/pytorch-1.7.1-tensorpipe-unbundle-libuv.patch
new file mode 100644
index 000000000..960ae3618
--- /dev/null
+++ b/sci-libs/pytorch/files/pytorch-1.7.1-tensorpipe-unbundle-libuv.patch
@@ -0,0 +1,12 @@
+diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake
+index d1e4bdaed6..85821a78df 100644
+--- a/cmake/Dependencies.cmake
++++ b/cmake/Dependencies.cmake
+@@ -1308,7 +1308,6 @@ if(USE_DISTRIBUTED AND USE_TENSORPIPE)
+ if(MSVC)
+ message(WARNING "Tensorpipe cannot be used on Windows.")
+ else()
+- set(TP_BUILD_LIBUV ON CACHE BOOL "" FORCE)
+ set(TP_ENABLE_SHM OFF CACHE BOOL "" FORCE)
+ set(TP_ENABLE_CMA OFF CACHE BOOL "" FORCE)
+ set(TP_STATIC_OR_SHARED STATIC CACHE STRING "" FORCE)
diff --git a/sci-libs/pytorch/files/pytorch-1.7.1-torch_shm_manager.patch b/sci-libs/pytorch/files/pytorch-1.7.1-torch_shm_manager.patch
new file mode 100644
index 000000000..44b27cac3
--- /dev/null
+++ b/sci-libs/pytorch/files/pytorch-1.7.1-torch_shm_manager.patch
@@ -0,0 +1,13 @@
+diff --git a/torch/__init__.py b/torch/__init__.py
+index 03f6eca622..297fb169a4 100644
+--- a/torch/__init__.py
++++ b/torch/__init__.py
+@@ -412,7 +412,7 @@ def manager_path():
+
+
+ # Shared memory manager needs to know the exact location of manager executable
+-_C._initExtension(manager_path())
++_C._initExtension(b"@GENTOO_PORTAGE_EPREFIX@/usr/bin/torch_shm_manager")
+ del manager_path
+
+ # Appease the type checker: it can't deal with direct setting of globals().
diff --git a/sci-libs/pytorch/metadata.xml b/sci-libs/pytorch/metadata.xml
index 423c3c434..01e2b2703 100644
--- a/sci-libs/pytorch/metadata.xml
+++ b/sci-libs/pytorch/metadata.xml
@@ -32,6 +32,7 @@
<flag name="opencl">Enable support for OpenCL</flag>
<flag name="qnnpack">Enable QNNPACK support</flag>
<flag name="redis">Enable support for Redis</flag>
+ <flag name="rocm">Enable AMD ROCm</flag>
<flag name="tools">Build binary tools</flag>
<flag name="zeromq">Enable support for ZeroMQ</flag>
</use>
diff --git a/sci-libs/pytorch/pytorch-1.7.1-r2.ebuild b/sci-libs/pytorch/pytorch-1.7.1-r2.ebuild
new file mode 100644
index 000000000..e116b7ef7
--- /dev/null
+++ b/sci-libs/pytorch/pytorch-1.7.1-r2.ebuild
@@ -0,0 +1,292 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7,8,9} )
+
+inherit cmake cuda distutils-r1 prefix
+
+DESCRIPTION="Tensors and Dynamic neural networks in Python with strong GPU acceleration"
+HOMEPAGE="https://pytorch.org/"
+SRC_URI="https://github.com/pytorch/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+https://github.com/google/benchmark/archive/505be96a.tar.gz -> benchmark-505be96a.tar.gz
+https://github.com/pytorch/cpuinfo/archive/63b25457.tar.gz -> cpuinfo-63b25457.tar.gz
+https://github.com/NVlabs/cub/archive/d106ddb9.tar.gz -> cub-d106ddb9.tar.gz
+https://github.com/pytorch/fbgemm/archive/1d710393.tar.gz -> fbgemm-1d710393.tar.gz
+https://github.com/asmjit/asmjit/archive/9057aa30.tar.gz -> asmjit-9057aa30.tar.gz
+https://github.com/pytorch/cpuinfo/archive/d5e37adf.tar.gz -> cpuinfo-d5e37adf.tar.gz
+https://github.com/google/googletest/archive/0fc5466d.tar.gz -> googletest-0fc5466d.tar.gz
+https://github.com/fmtlib/fmt/archive/cd4af11e.tar.gz -> fmt-cd4af11e.tar.gz
+https://github.com/houseroad/foxi/archive/4aba696e.tar.gz -> foxi-4aba696e.tar.gz
+https://github.com/Maratyszcza/FP16/archive/4dfe081c.tar.gz -> FP16-4dfe081c.tar.gz
+https://github.com/Maratyszcza/FXdiv/archive/b408327a.tar.gz -> FXdiv-b408327a.tar.gz
+https://github.com/google/gemmlowp/archive/3fb5c176.tar.gz -> gemmlowp-3fb5c176.tar.gz
+https://github.com/facebookincubator/gloo/archive/3dc0328f.tar.gz -> gloo-3dc0328f.tar.gz
+https://github.com/google/googletest/archive/2fe3bd99.tar.gz -> googletest-2fe3bd99.tar.gz
+https://github.com/intel/ideep/archive/ba885200.tar.gz -> ideep-ba885200.tar.gz
+https://github.com/intel/mkl-dnn/archive/5ef631a0.tar.gz -> mkl-dnn-5ef631a0.tar.gz
+cuda? ( https://github.com/NVIDIA/nccl/archive/033d7995.tar.gz -> nccl-033d7995.tar.gz )
+https://github.com/Maratyszcza/NNPACK/archive/24b55303.tar.gz -> NNPACK-24b55303.tar.gz
+https://github.com/onnx/onnx/archive/a82c6a70.tar.gz -> onnx-a82c6a70.tar.gz
+https://github.com/onnx/onnx-tensorrt/archive/c1532114.tar.gz -> onnx-tensorrt-c1532114.tar.gz
+https://github.com/onnx/onnx/archive/765f5ee8.tar.gz -> onnx-765f5ee8.tar.gz
+https://github.com/google/benchmark/archive/e776aa02.tar.gz -> benchmark-e776aa02.tar.gz
+https://github.com/google/benchmark/archive/5b7683f4.tar.gz -> benchmark-5b7683f4.tar.gz
+https://github.com/google/googletest/archive/5ec7f0c4.tar.gz -> googletest-5ec7f0c4.tar.gz
+https://github.com/Maratyszcza/psimd/archive/072586a7.tar.gz -> psimd-072586a7.tar.gz
+https://github.com/Maratyszcza/pthreadpool/archive/029c8862.tar.gz -> pthreadpool-029c8862.tar.gz
+https://github.com/Maratyszcza/PeachPy/archive/07d8fde8.tar.gz -> PeachPy-07d8fde8.tar.gz
+https://github.com/pytorch/QNNPACK/archive/7d2a4e99.tar.gz -> QNNPACK-7d2a4e99.tar.gz
+https://github.com/shibatch/sleef/archive/7f523de6.tar.gz -> sleef-7f523de6.tar.gz
+https://github.com/pytorch/tensorpipe/archive/95ff9319.tar.gz -> tensorpipe-95ff9319.tar.gz
+https://github.com/google/googletest/archive/2fe3bd99.tar.gz -> googletest-2fe3bd99.tar.gz
+https://github.com/google/libnop/archive/aa95422e.tar.gz -> libnop-aa95422e.tar.gz
+https://github.com/libuv/libuv/archive/02a9e1be.tar.gz -> libuv-02a9e1be.tar.gz
+https://github.com/google/XNNPACK/archive/1b354636.tar.gz -> XNNPACK-1b354636.tar.gz
+ "
+
+# git clone git@github.com:pytorch/pytorch.git && cd pytorch
+# git submodules update --init --recursive
+# ${FILESDIR}/get_third_paries
+# cat SRC_URI src_prepare
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="asan blas cuda +fbgemm ffmpeg gflags glog +gloo leveldb lmdb mkldnn mpi namedtensor +nnpack numa +observers opencl opencv +openmp +python +qnnpack redis rocm static test tools zeromq"
+
+REQUIRED_USE="
+ ^^ ( cuda rocm )
+"
+
+RDEPEND="
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ blas? ( virtual/blas )
+ cuda? ( dev-libs/cudnn
+ dev-cpp/eigen[cuda] )
+ rocm? ( >=dev-util/hip-4.0.0-r1
+ >=dev-libs/rccl-4
+ >=sci-libs/rocThrust-4
+ >=sci-libs/hipCUB-4
+ >=sci-libs/rocPRIM-4
+ >=sci-libs/miopen-4
+ >=sci-libs/rocBLAS-4
+ >=sci-libs/rocRAND-4
+ >=sci-libs/hipSPARSE-4
+ >=sci-libs/rocFFT-4
+ >=dev-util/roctracer-4 )
+ ffmpeg? ( media-video/ffmpeg )
+ gflags? ( dev-cpp/gflags )
+ glog? ( dev-cpp/glog )
+ leveldb? ( dev-libs/leveldb )
+ lmdb? ( dev-db/lmdb )
+ mpi? ( virtual/mpi )
+ opencl? ( dev-libs/clhpp virtual/opencl )
+ opencv? ( media-libs/opencv )
+ python? ( ${PYTHON_DEPS}
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-libs/protobuf-python:0/22
+ )
+ redis? ( dev-db/redis )
+ zeromq? ( net-libs/zeromq )
+ dev-cpp/eigen
+ dev-libs/protobuf:0/22
+ dev-libs/libuv
+"
+
+#ATen code generation
+BDEPEND="dev-python/pyyaml"
+
+DEPEND="${RDEPEND}
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-cpp/tbb
+ app-arch/zstd
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ sys-fabric/libibverbs
+ sys-process/numactl
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.7.1-setup.patch
+ "${FILESDIR}"/${PN}-1.6.0-skip-tests.patch
+ "${FILESDIR}"/${PN}-1.6.0-global-dlopen.patch
+ "${FILESDIR}"/0002-Don-t-build-libtorch-again-for-PyTorch-1.7.1.patch
+ "${FILESDIR}"/0003-Change-path-to-caffe2-build-dir-made-by-libtorch.patch
+ "${FILESDIR}"/0005-Change-library-directory-according-to-CMake-build.patch
+ "${FILESDIR}"/${PN}-1.7.1-no-rpath.patch
+ "${FILESDIR}"/${PN}-1.7.1-tensorpipe-unbundle-libuv.patch
+ "${FILESDIR}"/${PN}-1.7.1-torch_shm_manager.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+ eprefixify torch/__init__.py
+ eapply_user
+
+ rmdir third_party/benchmark && ln -sv "${WORKDIR}"/benchmark-505be96ab23056580a3a2315abba048f4428b04e third_party/benchmark
+ rmdir third_party/cpuinfo && ln -sv "${WORKDIR}"/cpuinfo-63b254577ed77a8004a9be6ac707f3dccc4e1fd9 third_party/cpuinfo
+ rmdir third_party/cub && ln -sv "${WORKDIR}"/cub-d106ddb991a56c3df1b6d51b2409e36ba8181ce4 third_party/cub
+ rmdir third_party/fbgemm && ln -sv "${WORKDIR}"/FBGEMM-1d710393d5b7588f5de3b83f51c22bbddf095229 third_party/fbgemm
+ rmdir third_party/fbgemm/third_party/asmjit && ln -sv "${WORKDIR}"/asmjit-9057aa30b620f0662ff51e2230c126a345063064 third_party/fbgemm/third_party/asmjit
+ rmdir third_party/fbgemm/third_party/cpuinfo && ln -sv "${WORKDIR}"/cpuinfo-d5e37adf1406cf899d7d9ec1d317c47506ccb970 third_party/fbgemm/third_party/cpuinfo
+ rmdir third_party/fbgemm/third_party/googletest && ln -sv "${WORKDIR}"/googletest-0fc5466dbb9e623029b1ada539717d10bd45e99e third_party/fbgemm/third_party/googletest
+ rmdir third_party/fmt && ln -sv "${WORKDIR}"/fmt-cd4af11efc9c622896a3e4cb599fa28668ca3d05 third_party/fmt
+ rmdir third_party/foxi && ln -sv "${WORKDIR}"/foxi-4aba696ec8f31794fd42880346dc586486205e0a third_party/foxi
+ rmdir third_party/FP16 && ln -sv "${WORKDIR}"/FP16-4dfe081cf6bcd15db339cf2680b9281b8451eeb3 third_party/FP16
+ rmdir third_party/FXdiv && ln -sv "${WORKDIR}"/FXdiv-b408327ac2a15ec3e43352421954f5b1967701d1 third_party/FXdiv
+ rmdir third_party/gemmlowp/gemmlowp && ln -sv "${WORKDIR}"/gemmlowp-3fb5c176c17c765a3492cd2f0321b0dab712f350 third_party/gemmlowp/gemmlowp
+ rmdir third_party/gloo && ln -sv "${WORKDIR}"/gloo-3dc0328fe6a9d47bd47c0c6ca145a0d8a21845c6 third_party/gloo
+ rmdir third_party/googletest && ln -sv "${WORKDIR}"/googletest-2fe3bd994b3189899d93f1d5a881e725e046fdc2 third_party/googletest
+ rmdir third_party/ideep && ln -sv "${WORKDIR}"/ideep-ba885200dbbc1f144c7b58eba487378eb324f281 third_party/ideep
+ rmdir third_party/ideep/mkl-dnn && ln -sv "${WORKDIR}"/mkl-dnn-5ef631a030a6f73131c77892041042805a06064f third_party/ideep/mkl-dnn
+ rmdir third_party/nccl/nccl && ln -sv "${WORKDIR}"/nccl-033d799524fb97629af5ac2f609de367472b2696 third_party/nccl/nccl
+ rmdir third_party/NNPACK && ln -sv "${WORKDIR}"/NNPACK-24b55303f5cf65d75844714513a0d1b1409809bd third_party/NNPACK
+ rmdir third_party/onnx && ln -sv "${WORKDIR}"/onnx-a82c6a7010e2e332d8f74ad5b0c726fd47c85376 third_party/onnx
+ rmdir third_party/onnx-tensorrt && ln -sv "${WORKDIR}"/onnx-tensorrt-c153211418a7c57ce071d9ce2a41f8d1c85a878f third_party/onnx-tensorrt
+ rmdir third_party/onnx-tensorrt/third_party/onnx && ln -sv "${WORKDIR}"/onnx-765f5ee823a67a866f4bd28a9860e81f3c811ce8 third_party/onnx-tensorrt/third_party/onnx
+ rmdir third_party/onnx-tensorrt/third_party/onnx/third_party/benchmark && ln -sv "${WORKDIR}"/benchmark-e776aa0275e293707b6a0901e0e8d8a8a3679508 third_party/onnx-tensorrt/third_party/onnx/third_party/benchmark
+ rmdir third_party/onnx/third_party/benchmark && ln -sv "${WORKDIR}"/benchmark-e776aa0275e293707b6a0901e0e8d8a8a3679508 third_party/onnx/third_party/benchmark
+ rmdir third_party/psimd && ln -sv "${WORKDIR}"/psimd-072586a71b55b7f8c584153d223e95687148a900 third_party/psimd
+ rmdir third_party/pthreadpool && ln -sv "${WORKDIR}"/pthreadpool-029c88620802e1361ccf41d1970bd5b07fd6b7bb third_party/pthreadpool
+ rmdir third_party/python-peachpy && ln -sv "${WORKDIR}"/PeachPy-07d8fde8ac45d7705129475c0f94ed8925b93473 third_party/python-peachpy
+ rmdir third_party/QNNPACK && ln -sv "${WORKDIR}"/QNNPACK-7d2a4e9931a82adc3814275b6219a03e24e36b4c third_party/QNNPACK
+ rmdir third_party/sleef && ln -sv "${WORKDIR}"/sleef-7f523de651585fe25cade462efccca647dcc8d02 third_party/sleef
+ rmdir third_party/tensorpipe && ln -sv "${WORKDIR}"/tensorpipe-95ff9319161fcdb3c674d2bb63fac3e94095b343 third_party/tensorpipe
+ rmdir third_party/tensorpipe/third_party/googletest && ln -sv "${WORKDIR}"/googletest-2fe3bd994b3189899d93f1d5a881e725e046fdc2 third_party/tensorpipe/third_party/googletest
+ rmdir third_party/tensorpipe/third_party/libnop && ln -sv "${WORKDIR}"/libnop-aa95422ea8c409e3f078d2ee7708a5f59a8b9fa2 third_party/tensorpipe/third_party/libnop
+ rmdir third_party/tensorpipe/third_party/libuv && ln -sv "${WORKDIR}"/libuv-02a9e1be252b623ee032a3137c0b0c94afbe6809 third_party/tensorpipe/third_party/libuv
+ rmdir third_party/XNNPACK && ln -sv "${WORKDIR}"/XNNPACK-1b354636b5942826547055252f3b359b54acff95 third_party/XNNPACK
+
+ if use cuda; then
+ cd third_party/nccl/nccl || die
+ eapply "${FILESDIR}"/${PN}-1.6.0-nccl-nvccflags.patch
+
+ addpredict /dev/nvidiactl
+ cuda_src_prepare
+ export CUDAHOSTCXX=$(cuda_gccdir)/g++
+ fi
+
+ if use rocm; then
+ #Allow escaping sandbox
+ addread /dev/kfd
+ addread /dev/dri
+ addwrite /dev/kfd
+ addwrite /dev/dri
+
+ ebegin "HIPifying cuda sources"
+ tools/amd_build/build_amd.py
+ eend $?
+
+ export PYTORCH_ROCM_ARCH=$(rocminfo | egrep -o "gfx[0-9]+" | uniq | awk -vORS=';' "{print $1}" | sed 's/;$/\n/') || die
+ sed -e "/set(roctracer_INCLUDE_DIRS/s,\${ROCTRACER_PATH}/include,${EPREFIX}/usr/include/roctracer," \
+ -i cmake/public/LoadHIP.cmake || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DTORCH_BUILD_VERSION=${PV}
+ -DTORCH_INSTALL_LIB_DIR=$(get_libdir)
+ -DBUILD_BINARY=$(usex tools ON OFF)
+ -DBUILD_CUSTOM_PROTOBUF=OFF
+ -DBUILD_PYTHON=$(usex python ON OFF)
+ -DBUILD_SHARED_LIBS=$(usex static OFF ON)
+ -DBUILD_TEST=$(usex test ON OFF)
+ -DUSE_ASAN=$(usex asan ON OFF)
+ -DUSE_CUDA=$(usex cuda ON OFF)
+ -DUSE_NCCL=$(usex cuda ON OFF)
+ -DUSE_SYSTEM_NCCL=OFF
+ -DUSE_ROCM=$(usex rocm ON OFF)
+ -DUSE_FBGEMM=$(usex fbgemm ON OFF)
+ -DUSE_FFMPEG=$(usex ffmpeg ON OFF)
+ -DUSE_GFLAGS=$(usex gflags ON OFF)
+ -DUSE_GLOG=$(usex glog ON OFF)
+ -DUSE_LEVELDB=$(usex leveldb ON OFF)
+ -DUSE_LITE_PROTO=OFF
+ -DUSE_LMDB=$(usex lmdb ON OFF)
+ -DUSE_MKLDNN=$(usex mkldnn ON OFF)
+ -DUSE_MKLDNN_CBLAS=OFF
+ -DUSE_NNPACK=$(usex nnpack ON OFF)
+ -DUSE_NUMPY=$(usex python ON OFF)
+ -DUSE_NUMA=$(usex numa ON OFF)
+ -DUSE_OBSERVERS=$(usex observers ON OFF)
+ -DUSE_OPENCL=$(usex opencl ON OFF)
+ -DUSE_OPENCV=$(usex opencv ON OFF)
+ -DUSE_OPENMP=$(usex openmp ON OFF)
+ -DUSE_TBB=OFF
+ -DUSE_PROF=OFF
+ -DUSE_QNNPACK=$(usex qnnpack ON OFF)
+ -DUSE_REDIS=$(usex redis ON OFF)
+ -DUSE_ROCKSDB=OFF
+ -DUSE_ZMQ=$(usex zeromq ON OFF)
+ -DUSE_MPI=$(usex mpi ON OFF)
+ -DUSE_GLOO=$(usex gloo ON OFF)
+ -DUSE_SYSTEM_EIGEN_INSTALL=ON
+ -DBUILD_NAMEDTENSOR=$(usex namedtensor ON OFF)
+ -DBLAS=$(usex blas Generic Eigen)
+ -DTP_BUILD_LIBUV=OFF
+ -Wno-dev
+ )
+
+ cmake_src_configure
+
+ if use python; then
+ CMAKE_BUILD_DIR="${BUILD_DIR}" distutils-r1_src_configure
+ fi
+
+ # do not rerun cmake and the build process in src_install
+ sed '/RERUN/,+1d' -i "${BUILD_DIR}"/build.ninja || die
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use python; then
+ CMAKE_BUILD_DIR=${BUILD_DIR} distutils-r1_src_compile
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ local LIB=$(get_libdir)
+ if [[ ${LIB} != lib ]]; then
+ mv -fv "${ED}"/usr/lib/*.so "${ED}"/usr/${LIB}/ || die
+ fi
+
+ rm -rfv "${ED}/torch"
+ rm -rfv "${ED}/var"
+ rm -rfv "${ED}/usr/lib"
+
+ rm -fv "${ED}/usr/include/*.{h,hpp}"
+ rm -rfv "${ED}/usr/include/asmjit"
+ rm -rfv "${ED}/usr/include/c10d"
+ rm -rfv "${ED}/usr/include/fbgemm"
+ rm -rfv "${ED}/usr/include/fp16"
+ rm -rfv "${ED}/usr/include/gloo"
+ rm -rfv "${ED}/usr/include/include"
+ rm -rfv "${ED}/usr/include/var"
+
+ cp -rv "${WORKDIR}/${P}/third_party/pybind11/include/pybind11" "${ED}/usr/include/"
+
+ rm -fv "${ED}/usr/${LIB}/libtbb.so"
+ rm -rfv "${ED}/usr/${LIB}/cmake"
+
+ if use python; then
+ scanelf -r --fix "${BUILD_DIR}/caffe2/python"
+ CMAKE_BUILD_DIR=${BUILD_DIR} distutils-r1_src_install
+
+ python_foreach_impl python_optimize
+ fi
+
+ find "${ED}/usr/${LIB}" -name "*.a" -exec rm -fv {} \;
+
+ use test && rm -rfv "${ED}/usr/test" "${ED}"/usr/bin/test_{api,jit}
+
+ # Remove the empty directories by CMake Python:
+ find "${ED}" -type d -empty -delete || die
+}