{"title":"并联机上矩阵链积的计算","authors":"Elad Weiss, O. Schwartz","doi":"10.1109/IPDPS.2019.00059","DOIUrl":null,"url":null,"abstract":"The Matrix Chain Ordering Problem is a well studied optimization problem, aiming at finding optimal parentheses assignment for minimizing the number of arithmetic operations required when computing a chain of matrix multiplications. Existing algorithms include the O(N^3) dynamic programming of Godbole (1973) and the faster O(NlogN) algorithm of Hu and Shing (1982). We show that both may result in sub-optimal parentheses assignment for modern machines as they do not take into account inter-processor communication costs that often dominate the running time. Further, the optimal solution may change when using fast matrix multiplication algorithms. We adapt the O(N^3) dynamic programming algorithm to provide optimal solutions for modern machines and modern matrix multiplication algorithms, and obtain an adaption of the O(NlogN) algorithm that guarantees a constant approximation.","PeriodicalId":403406,"journal":{"name":"2019 IEEE International Parallel and Distributed Processing Symposium (IPDPS)","volume":"23 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"Computation of Matrix Chain Products on Parallel Machines\",\"authors\":\"Elad Weiss, O. Schwartz\",\"doi\":\"10.1109/IPDPS.2019.00059\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The Matrix Chain Ordering Problem is a well studied optimization problem, aiming at finding optimal parentheses assignment for minimizing the number of arithmetic operations required when computing a chain of matrix multiplications. Existing algorithms include the O(N^3) dynamic programming of Godbole (1973) and the faster O(NlogN) algorithm of Hu and Shing (1982). We show that both may result in sub-optimal parentheses assignment for modern machines as they do not take into account inter-processor communication costs that often dominate the running time. Further, the optimal solution may change when using fast matrix multiplication algorithms. We adapt the O(N^3) dynamic programming algorithm to provide optimal solutions for modern machines and modern matrix multiplication algorithms, and obtain an adaption of the O(NlogN) algorithm that guarantees a constant approximation.\",\"PeriodicalId\":403406,\"journal\":{\"name\":\"2019 IEEE International Parallel and Distributed Processing Symposium (IPDPS)\",\"volume\":\"23 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2019-05-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2019 IEEE International Parallel and Distributed Processing Symposium (IPDPS)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/IPDPS.2019.00059\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 IEEE International Parallel and Distributed Processing Symposium (IPDPS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IPDPS.2019.00059","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
摘要
矩阵链排序问题是一个被广泛研究的优化问题,其目的是在计算矩阵乘法链时找到最优的括号分配,以使所需的算术运算次数最少。现有的算法有Godbole(1973)的O(N^3)动态规划算法和Hu and Shing(1982)更快的O(NlogN)算法。我们表明,对于现代机器,这两种方法都可能导致次优括号赋值,因为它们没有考虑处理器间通信成本,而处理器间通信成本通常是运行时间的主要因素。此外,当使用快速矩阵乘法算法时,最优解可能会发生变化。我们采用O(N^3)动态规划算法来为现代机器和现代矩阵乘法算法提供最优解,并获得了O(NlogN)算法的自适应,保证了常数近似。
Computation of Matrix Chain Products on Parallel Machines
The Matrix Chain Ordering Problem is a well studied optimization problem, aiming at finding optimal parentheses assignment for minimizing the number of arithmetic operations required when computing a chain of matrix multiplications. Existing algorithms include the O(N^3) dynamic programming of Godbole (1973) and the faster O(NlogN) algorithm of Hu and Shing (1982). We show that both may result in sub-optimal parentheses assignment for modern machines as they do not take into account inter-processor communication costs that often dominate the running time. Further, the optimal solution may change when using fast matrix multiplication algorithms. We adapt the O(N^3) dynamic programming algorithm to provide optimal solutions for modern machines and modern matrix multiplication algorithms, and obtain an adaption of the O(NlogN) algorithm that guarantees a constant approximation.