{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":475624490,"defaultBranch":"master","name":"COMET","ownerLogin":"pnnl","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-03-29T21:25:27.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/10872965?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1724450140.0","currentOid":""},"activityList":{"items":[{"before":"8d7d6c39feeb698c48a90976cce6902272d5a75d","after":"16d149882f2e568bb2bab1e3f9b2b450be767c4d","ref":"refs/heads/triton-integration","pushedAt":"2024-08-28T00:24:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"Added Triton as a submodule","shortMessageHtmlLink":"Added Triton as a submodule"}},{"before":"a4b9ca2ad640811af06a9bfa7a9ba27e9dd46b72","after":"8d7d6c39feeb698c48a90976cce6902272d5a75d","ref":"refs/heads/triton-integration","pushedAt":"2024-08-28T00:12:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"Added missing CUDA_LIB requirement in CMakeLists.txt\nAdded patch for triton","shortMessageHtmlLink":"Added missing CUDA_LIB requirement in CMakeLists.txt"}},{"before":"591cf1cd838ef247659a78982d5c343165c3bccd","after":"a4b9ca2ad640811af06a9bfa7a9ba27e9dd46b72","ref":"refs/heads/triton-integration","pushedAt":"2024-08-27T23:33:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"We now properly link with Triton and programmatically use its passes\ninstead of creating a process and calling it.","shortMessageHtmlLink":"We now properly link with Triton and programmatically use its passes"}},{"before":"383a9ff1aecb63a458e64369e1dc67107e4f0091","after":null,"ref":"refs/heads/Add-Continuous-Integration","pushedAt":"2024-08-23T21:55:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"}},{"before":null,"after":"cfd9a7a5fce2555b794088a9334a1b90f7c7be2f","ref":"refs/heads/fix-scalars","pushedAt":"2024-08-22T16:19:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"1. Fixed support for scalars for both the backend and cometPy\n2. Updated cometpy to use latest version of SciPy and added it as a strict dependency.","shortMessageHtmlLink":"1. Fixed support for scalars for both the backend and cometPy"}},{"before":"eea3f274900b014b7564d2fc75d9b530a4de9406","after":"591cf1cd838ef247659a78982d5c343165c3bccd","ref":"refs/heads/triton-integration","pushedAt":"2024-07-14T06:34:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"Fixed some compiler warnings","shortMessageHtmlLink":"Fixed some compiler warnings"}},{"before":"d057da70b3a178d114c2fad7754a545fe7f52fcf","after":"eea3f274900b014b7564d2fc75d9b530a4de9406","ref":"refs/heads/triton-integration","pushedAt":"2024-07-07T03:57:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"Added missing file","shortMessageHtmlLink":"Added missing file"}},{"before":"3c9eff45c55e7bdd9cffbfed1e66f3b09d5eccda","after":"d057da70b3a178d114c2fad7754a545fe7f52fcf","ref":"refs/heads/triton-integration","pushedAt":"2024-07-07T03:44:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"Added interface to interact with triton pipeline","shortMessageHtmlLink":"Added interface to interact with triton pipeline"}},{"before":"278dded73c70138eb4d1751d2a554319e3f0e7d1","after":"3c9eff45c55e7bdd9cffbfed1e66f3b09d5eccda","ref":"refs/heads/triton-integration","pushedAt":"2024-06-24T16:44:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"Starting changes for GPU support","shortMessageHtmlLink":"Starting changes for GPU support"}},{"before":null,"after":"278dded73c70138eb4d1751d2a554319e3f0e7d1","ref":"refs/heads/triton-integration","pushedAt":"2024-06-24T16:31:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"Starting changes for GPU support","shortMessageHtmlLink":"Starting changes for GPU support"}},{"before":"26e637e932b5c6bd15e0827ded3f922a47bbe809","after":"461c75410e93c8f5f60adee740e15aedae73802f","ref":"refs/heads/openmp","pushedAt":"2024-06-21T19:35:10.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"johnpzh","name":"Zhen Peng","path":"/johnpzh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1608711?s=80&v=4"},"commit":{"message":"Lower parallel IndexNode to `scf::ParallelOp`.\n\n1. Added a helper class `AbstractLoopOp` by adding its header and source file. Changed necessary `scf::ForOp` to `AbstractLoopOp` in `IndexTreeToSCF.cpp`. (`lib/Conversion/IndexTreeToSCF/IndexTreeToSCF.cpp`). Class `AbstractLoopOp` allows to hold `scf::ForOp` and `scf::ParallelOp` according to the iterator type from the IndexNode. So far, not all APIs of `scf::ForOp` and `scf::ParallelOp` have been supported by `AbstractLoopOp`, although all APIs used in `IndexTreeToSCF.cpp` are available.\n2. Updated the conversion `TensorAlgebraToIndexTree.cpp` (`lib/Conversion/TensorAlgebraToIndexTree/TensorAlgebraToIndexTree.cpp`). When checking if an operation is one of the chosen operations for parallelism, added the logic to check if the LHS’s format is dense. Current parallel for loops only support dense output tensor (so SpGEMM is not supported).\n3. The options `mlir-opt` used to lower SCF dialect to LLVM code are as follows, and the shared libraries should include the OpenMP runtime library.\n\n```bash\nllvm_options=\"\\\n-convert-linalg-to-loops \\\n-lower-affine \\\n-convert-scf-to-openmp \\\n-finalize-memref-to-llvm \\\n-convert-scf-to-cf \\\n-convert-cf-to-llvm \\\n-convert-func-to-llvm \\\n-convert-index-to-llvm \\\n-convert-openmp-to-llvm \\\n-convert-vector-to-llvm \\\n-canonicalize \\\n-convert-to-llvm \\\n\"\n$ mlir-opt ${llvm_options} -shared-libs=comet/build/lib/libcomet_runner_utils.so,llvm/build/lib/libopm.so llvm_src.mlir\n```\n\nMinors\n\n1. In `comet.cpp`, added a failure check around `mlir::applyPassManagerCLOptions(pm)`, in order to comply with the new C++ attribute `[[nodiscard]]`.\n2. Updated `TensorAlgebraToIndexTree.cpp` , so that elementwise operations to have `default` iterator type for index nodes. All test cases (120 cases) are passed.","shortMessageHtmlLink":"Lower parallel IndexNode to scf::ParallelOp."}},{"before":"56224ee4fe80fb485d588e5c7720a04ef74b1fc3","after":"26e637e932b5c6bd15e0827ded3f922a47bbe809","ref":"refs/heads/openmp","pushedAt":"2024-06-21T17:40:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"johnpzh","name":"Zhen Peng","path":"/johnpzh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1608711?s=80&v=4"},"commit":{"message":"Lower parallel IndexNode to `scf::ParallelOp`.\n\n1. Added a helper class `AbstractLoopOp` by adding its header and source file. Changed necessary `scf::ForOp` to `AbstractLoopOp` in `IndexTreeToSCF.cpp`. (`lib/Conversion/IndexTreeToSCF/IndexTreeToSCF.cpp`). Class `AbstractLoopOp` allows to hold `scf::ForOp` and `scf::ParallelOp` according to the iterator type from the IndexNode. So far, not all APIs of `scf::ForOp` and `scf::ParallelOp` have been supported by `AbstractLoopOp`, although all APIs used in `IndexTreeToSCF.cpp` are available.\n2. Updated the conversion `TensorAlgebraToIndexTree.cpp` (`lib/Conversion/TensorAlgebraToIndexTree/TensorAlgebraToIndexTree.cpp`). When checking if an operation is one of the chosen operations for parallelism, added the logic to check if the LHS’s format is dense. Current parallel for loops only support dense output tensor (so SpGEMM is not supported).\n3. The options `mlir-opt` used to lower SCF dialect to LLVM code are as follows, and the shared libraries should include the OpenMP runtime library.\n\n```bash\nllvm_options=\"\\\n-convert-linalg-to-loops \\\n-lower-affine \\\n-convert-scf-to-openmp \\\n-finalize-memref-to-llvm \\\n-convert-scf-to-cf \\\n-convert-cf-to-llvm \\\n-convert-func-to-llvm \\\n-convert-index-to-llvm \\\n-convert-openmp-to-llvm \\\n-convert-vector-to-llvm \\\n-canonicalize \\\n-convert-to-llvm \\\n\"\n$ mlir-opt ${llvm_options} -shared-libs=comet/build/lib/libcomet_runner_utils.so,llvm/build/lib/libopm.so llvm_src.mlir\n```\n\nMinors\n------\n\n1. In `comet.cpp`, added a failure check around `mlir::applyPassManagerCLOptions(pm)`, to comply with the new C++ attribute `[[nodiscard]]`.","shortMessageHtmlLink":"Lower parallel IndexNode to scf::ParallelOp."}},{"before":"1b1cd2d5ee221f6028568f36eecc6eb0b8f635af","after":"ecdb46c410b074c9369742145bc7002b11145f4c","ref":"refs/heads/master","pushedAt":"2024-06-19T19:48:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"Add Continuous Integration and update dependency requirements (#60)\n\n* Add Continuous Integration\r\n* Updated numpy integration tests to return proper error value when one of the tests fails\r\n* Updated README.md to reflect the current requirements (fixes #61).","shortMessageHtmlLink":"Add Continuous Integration and update dependency requirements (#60)"}},{"before":"2e542bc1a02a753bfc745ac78f5e498c75fba286","after":"383a9ff1aecb63a458e64369e1dc67107e4f0091","ref":"refs/heads/Add-Continuous-Integration","pushedAt":"2024-06-19T18:55:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"2999d6926bd00f06d6ef5ab1a609d46ab61846fe","after":"2e542bc1a02a753bfc745ac78f5e498c75fba286","ref":"refs/heads/Add-Continuous-Integration","pushedAt":"2024-06-19T18:41:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"Updated README.md to reflect the current requirements (fixes #61).","shortMessageHtmlLink":"Updated README.md to reflect the current requirements (fixes #61)."}},{"before":"1b1cd2d5ee221f6028568f36eecc6eb0b8f635af","after":"56224ee4fe80fb485d588e5c7720a04ef74b1fc3","ref":"refs/heads/openmp","pushedAt":"2024-06-19T18:20:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"johnpzh","name":"Zhen Peng","path":"/johnpzh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1608711?s=80&v=4"},"commit":{"message":"Added a new attribute iterator_type to IndexNode\n\n1. Added to `IndexTreeIndicesOp` (Index Tree Dialect) a new attribute `iterator_type` to tell if the iteration can be parallelized. It is analogous to `iterator_types` in the `linalg.generic` op (https://mlir.llvm.org/docs/Dialects/Linalg/#linalggeneric-linalggenericop). Candidate options: parallel, reduction, window, serial, default. This change influences many other code where `builder.createindexTree::IndexTreeIndicesOp` is called as follows. Some places may need further change to make the logic correct.\n 1. `lib/Conversion/TensorAlgebraToSCF/LowerPCToLoops.cpp`\n 2. `lib/Conversion/TensorAlgebraToIndexTree/TensorAlgebraToIndexTree.cpp`\n 3. `lib/Dialect/IndexTree/Transforms/Fusion.cpp`\n 4. `lib/Dialect/IndexTree/Transforms/WorkspaceTransforms.cpp`\n2. Added a helper class `IteratorType` as the handle to the new attribute `iterator_type` and a member in the class `TreeNode` (`include/comet/Dialect/IndexTree/IR/IndexTree.h`).\n3. Added a member `iteratorTypes` in the class `Index_Tree` to store the iterator type of each iterative index.","shortMessageHtmlLink":"Added a new attribute iterator_type to IndexNode"}},{"before":"8ed17107bdd9906551e6c3c9518747af089097ee","after":"2999d6926bd00f06d6ef5ab1a609d46ab61846fe","ref":"refs/heads/Add-Continuous-Integration","pushedAt":"2024-06-19T17:53:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"[CI] Merge build and test backend in a single job to avoid ninja caching stale cmake path","shortMessageHtmlLink":"[CI] Merge build and test backend in a single job to avoid ninja cach…"}},{"before":"eadf46268f62428079ab3504bbd33805efac1f42","after":"8ed17107bdd9906551e6c3c9518747af089097ee","ref":"refs/heads/Add-Continuous-Integration","pushedAt":"2024-06-19T17:40:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"Replace get-cmake action with installing the corresponding system packages","shortMessageHtmlLink":"Replace get-cmake action with installing the corresponding system pac…"}},{"before":"2a97e01987cf3d82861f8ddfe378a6245a4cab0a","after":"eadf46268f62428079ab3504bbd33805efac1f42","ref":"refs/heads/Add-Continuous-Integration","pushedAt":"2024-06-19T17:36:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"In comet-backend workflow, replace get-cmake action with","shortMessageHtmlLink":"In comet-backend workflow, replace get-cmake action with"}},{"before":"6a42810c08a2e33a6f3b3f23871f73f57de30851","after":"2a97e01987cf3d82861f8ddfe378a6245a4cab0a","ref":"refs/heads/Add-Continuous-Integration","pushedAt":"2024-06-19T17:24:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"Updated numpy integration tests to return proper error value when one of the tests fails","shortMessageHtmlLink":"Updated numpy integration tests to return proper error value when one…"}},{"before":"089ed23980eba5388652a17afe663c55e7ac9532","after":"6a42810c08a2e33a6f3b3f23871f73f57de30851","ref":"refs/heads/Add-Continuous-Integration","pushedAt":"2024-06-19T16:54:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"Update Ubuntu-latest.yml","shortMessageHtmlLink":"Update Ubuntu-latest.yml"}},{"before":null,"after":"089ed23980eba5388652a17afe663c55e7ac9532","ref":"refs/heads/Add-Continuous-Integration","pushedAt":"2024-06-14T22:41:16.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"Add Continuous Integration","shortMessageHtmlLink":"Add Continuous Integration"}},{"before":"6576d375fecf32bfbfe60c630e9ad696910aad1d","after":"1b1cd2d5ee221f6028568f36eecc6eb0b8f635af","ref":"refs/heads/openmp","pushedAt":"2024-06-14T02:51:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"johnpzh","name":"Zhen Peng","path":"/johnpzh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1608711?s=80&v=4"},"commit":{"message":"Fixed error in tablegen include paths","shortMessageHtmlLink":"Fixed error in tablegen include paths"}},{"before":"acd35b5bc20d74fdc48768bc401b7fc7eb2f9250","after":null,"ref":"refs/heads/fix-tgen","pushedAt":"2024-06-14T02:18:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"}},{"before":"6576d375fecf32bfbfe60c630e9ad696910aad1d","after":"1b1cd2d5ee221f6028568f36eecc6eb0b8f635af","ref":"refs/heads/master","pushedAt":"2024-06-14T02:16:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"Fixed error in tablegen include paths","shortMessageHtmlLink":"Fixed error in tablegen include paths"}},{"before":null,"after":"acd35b5bc20d74fdc48768bc401b7fc7eb2f9250","ref":"refs/heads/fix-tgen","pushedAt":"2024-06-14T01:54:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"Fixed error in tablegen include paths","shortMessageHtmlLink":"Fixed error in tablegen include paths"}},{"before":null,"after":"6576d375fecf32bfbfe60c630e9ad696910aad1d","ref":"refs/heads/openmp","pushedAt":"2024-06-13T18:41:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gkestor","name":"Gokcen Kestor","path":"/gkestor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50598246?s=80&v=4"},"commit":{"message":"Merge pull request #58 from pnnl/dev\n\nUpgrade llvm + update frontends","shortMessageHtmlLink":"Merge pull request #58 from pnnl/dev"}},{"before":"9c0b37599af848f1b377946a1f787349e8056d59","after":null,"ref":"refs/heads/dev-llvm-upgrade","pushedAt":"2024-06-13T18:40:30.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gkestor","name":"Gokcen Kestor","path":"/gkestor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50598246?s=80&v=4"}},{"before":"7de73be5df2b22c5a9c13276c721145c77f4e3aa","after":"6576d375fecf32bfbfe60c630e9ad696910aad1d","ref":"refs/heads/master","pushedAt":"2024-06-12T21:30:55.000Z","pushType":"pr_merge","commitsCount":8,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"Merge pull request #58 from pnnl/dev\n\nUpgrade llvm + update frontends","shortMessageHtmlLink":"Merge pull request #58 from pnnl/dev"}},{"before":"285b64b7f73762be6533b4665c13e387fb69a361","after":"8cb88e4466aed1fde2a20669031f004be4f31696","ref":"refs/heads/dev","pushedAt":"2024-06-12T18:35:52.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"pthomadakis","name":null,"path":"/pthomadakis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/136025103?s=80&v=4"},"commit":{"message":"Updated frontends to use the new sparse tensor declaration op","shortMessageHtmlLink":"Updated frontends to use the new sparse tensor declaration op"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEpe4jhQA","startCursor":null,"endCursor":null}},"title":"Activity · pnnl/COMET"}