Systems and methods of instructions to accelerate multiplication of sparse matrices using bitmasks that identify non-zero elements

Disclosed embodiments relate to accelerating multiplication of sparse matrices. In one example, a processor is to fetch and decode an instruction having fields to specify locations of first, second, and third matrices, and an opcode indicating the processor is to multiply and accumulate matching non...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Heinecke, Alexander F, Baum, Dan, Ould-Ahmed-Vall, Elmoustapha, Koren, Chen, Hughes, Christopher J, Sade, Raanan, Charney, Mark J, Valentine, Robert, Espig, Michael
Format: Patent
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title
container_volume
creator Heinecke, Alexander F
Baum, Dan
Ould-Ahmed-Vall, Elmoustapha
Koren, Chen
Hughes, Christopher J
Sade, Raanan
Charney, Mark J
Valentine, Robert
Espig, Michael
description Disclosed embodiments relate to accelerating multiplication of sparse matrices. In one example, a processor is to fetch and decode an instruction having fields to specify locations of first, second, and third matrices, and an opcode indicating the processor is to multiply and accumulate matching non-zero (NZ) elements of the first and second matrices with corresponding elements of the third matrix, and executing the decoded instruction as per the opcode to generate NZ bitmasks for the first and second matrices, broadcast up to two NZ elements at a time from each row of the first matrix and each column of the second matrix to a processing engine (PE) grid, each PE to multiply and accumulate matching NZ elements of the first and second matrices with corresponding elements of the third matrix. Each PE further to store an NZ element for use in a subsequent multiplications.
format Patent
fullrecord <record><control><sourceid>epo_EVB</sourceid><recordid>TN_cdi_epo_espacenet_US11847185B2</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>US11847185B2</sourcerecordid><originalsourceid>FETCH-epo_espacenet_US11847185B23</originalsourceid><addsrcrecordid>eNqNjDsOwkAMRNNQIOAO5gApwkekBoHoA3VkNg6x2E-0dopQcnI2EgegGmnmzZtnn2oUJSeAvgFH2oVGILTAXjQORjl4AQ2AxpCliErgBqvcWzY4rRMsPUZJA2pkQwKDsH_Cg9WhvNK9QwVuyCu3I_jg8zfFAMnnUifLbNaiFVr9cpGtL-fb6ZpTH2pKbkOetL5XRVHuDkW5P262_zBfqV9Lhw</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>patent</recordtype></control><display><type>patent</type><title>Systems and methods of instructions to accelerate multiplication of sparse matrices using bitmasks that identify non-zero elements</title><source>esp@cenet</source><creator>Heinecke, Alexander F ; Baum, Dan ; Ould-Ahmed-Vall, Elmoustapha ; Koren, Chen ; Hughes, Christopher J ; Sade, Raanan ; Charney, Mark J ; Valentine, Robert ; Espig, Michael</creator><creatorcontrib>Heinecke, Alexander F ; Baum, Dan ; Ould-Ahmed-Vall, Elmoustapha ; Koren, Chen ; Hughes, Christopher J ; Sade, Raanan ; Charney, Mark J ; Valentine, Robert ; Espig, Michael</creatorcontrib><description>Disclosed embodiments relate to accelerating multiplication of sparse matrices. In one example, a processor is to fetch and decode an instruction having fields to specify locations of first, second, and third matrices, and an opcode indicating the processor is to multiply and accumulate matching non-zero (NZ) elements of the first and second matrices with corresponding elements of the third matrix, and executing the decoded instruction as per the opcode to generate NZ bitmasks for the first and second matrices, broadcast up to two NZ elements at a time from each row of the first matrix and each column of the second matrix to a processing engine (PE) grid, each PE to multiply and accumulate matching NZ elements of the first and second matrices with corresponding elements of the third matrix. Each PE further to store an NZ element for use in a subsequent multiplications.</description><language>eng</language><subject>CALCULATING ; COMPUTING ; COUNTING ; ELECTRIC DIGITAL DATA PROCESSING ; PHYSICS</subject><creationdate>2023</creationdate><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://worldwide.espacenet.com/publicationDetails/biblio?FT=D&amp;date=20231219&amp;DB=EPODOC&amp;CC=US&amp;NR=11847185B2$$EHTML$$P50$$Gepo$$Hfree_for_read</linktohtml><link.rule.ids>230,308,780,885,25564,76547</link.rule.ids><linktorsrc>$$Uhttps://worldwide.espacenet.com/publicationDetails/biblio?FT=D&amp;date=20231219&amp;DB=EPODOC&amp;CC=US&amp;NR=11847185B2$$EView_record_in_European_Patent_Office$$FView_record_in_$$GEuropean_Patent_Office$$Hfree_for_read</linktorsrc></links><search><creatorcontrib>Heinecke, Alexander F</creatorcontrib><creatorcontrib>Baum, Dan</creatorcontrib><creatorcontrib>Ould-Ahmed-Vall, Elmoustapha</creatorcontrib><creatorcontrib>Koren, Chen</creatorcontrib><creatorcontrib>Hughes, Christopher J</creatorcontrib><creatorcontrib>Sade, Raanan</creatorcontrib><creatorcontrib>Charney, Mark J</creatorcontrib><creatorcontrib>Valentine, Robert</creatorcontrib><creatorcontrib>Espig, Michael</creatorcontrib><title>Systems and methods of instructions to accelerate multiplication of sparse matrices using bitmasks that identify non-zero elements</title><description>Disclosed embodiments relate to accelerating multiplication of sparse matrices. In one example, a processor is to fetch and decode an instruction having fields to specify locations of first, second, and third matrices, and an opcode indicating the processor is to multiply and accumulate matching non-zero (NZ) elements of the first and second matrices with corresponding elements of the third matrix, and executing the decoded instruction as per the opcode to generate NZ bitmasks for the first and second matrices, broadcast up to two NZ elements at a time from each row of the first matrix and each column of the second matrix to a processing engine (PE) grid, each PE to multiply and accumulate matching NZ elements of the first and second matrices with corresponding elements of the third matrix. Each PE further to store an NZ element for use in a subsequent multiplications.</description><subject>CALCULATING</subject><subject>COMPUTING</subject><subject>COUNTING</subject><subject>ELECTRIC DIGITAL DATA PROCESSING</subject><subject>PHYSICS</subject><fulltext>true</fulltext><rsrctype>patent</rsrctype><creationdate>2023</creationdate><recordtype>patent</recordtype><sourceid>EVB</sourceid><recordid>eNqNjDsOwkAMRNNQIOAO5gApwkekBoHoA3VkNg6x2E-0dopQcnI2EgegGmnmzZtnn2oUJSeAvgFH2oVGILTAXjQORjl4AQ2AxpCliErgBqvcWzY4rRMsPUZJA2pkQwKDsH_Cg9WhvNK9QwVuyCu3I_jg8zfFAMnnUifLbNaiFVr9cpGtL-fb6ZpTH2pKbkOetL5XRVHuDkW5P262_zBfqV9Lhw</recordid><startdate>20231219</startdate><enddate>20231219</enddate><creator>Heinecke, Alexander F</creator><creator>Baum, Dan</creator><creator>Ould-Ahmed-Vall, Elmoustapha</creator><creator>Koren, Chen</creator><creator>Hughes, Christopher J</creator><creator>Sade, Raanan</creator><creator>Charney, Mark J</creator><creator>Valentine, Robert</creator><creator>Espig, Michael</creator><scope>EVB</scope></search><sort><creationdate>20231219</creationdate><title>Systems and methods of instructions to accelerate multiplication of sparse matrices using bitmasks that identify non-zero elements</title><author>Heinecke, Alexander F ; Baum, Dan ; Ould-Ahmed-Vall, Elmoustapha ; Koren, Chen ; Hughes, Christopher J ; Sade, Raanan ; Charney, Mark J ; Valentine, Robert ; Espig, Michael</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-epo_espacenet_US11847185B23</frbrgroupid><rsrctype>patents</rsrctype><prefilter>patents</prefilter><language>eng</language><creationdate>2023</creationdate><topic>CALCULATING</topic><topic>COMPUTING</topic><topic>COUNTING</topic><topic>ELECTRIC DIGITAL DATA PROCESSING</topic><topic>PHYSICS</topic><toplevel>online_resources</toplevel><creatorcontrib>Heinecke, Alexander F</creatorcontrib><creatorcontrib>Baum, Dan</creatorcontrib><creatorcontrib>Ould-Ahmed-Vall, Elmoustapha</creatorcontrib><creatorcontrib>Koren, Chen</creatorcontrib><creatorcontrib>Hughes, Christopher J</creatorcontrib><creatorcontrib>Sade, Raanan</creatorcontrib><creatorcontrib>Charney, Mark J</creatorcontrib><creatorcontrib>Valentine, Robert</creatorcontrib><creatorcontrib>Espig, Michael</creatorcontrib><collection>esp@cenet</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Heinecke, Alexander F</au><au>Baum, Dan</au><au>Ould-Ahmed-Vall, Elmoustapha</au><au>Koren, Chen</au><au>Hughes, Christopher J</au><au>Sade, Raanan</au><au>Charney, Mark J</au><au>Valentine, Robert</au><au>Espig, Michael</au><format>patent</format><genre>patent</genre><ristype>GEN</ristype><title>Systems and methods of instructions to accelerate multiplication of sparse matrices using bitmasks that identify non-zero elements</title><date>2023-12-19</date><risdate>2023</risdate><abstract>Disclosed embodiments relate to accelerating multiplication of sparse matrices. In one example, a processor is to fetch and decode an instruction having fields to specify locations of first, second, and third matrices, and an opcode indicating the processor is to multiply and accumulate matching non-zero (NZ) elements of the first and second matrices with corresponding elements of the third matrix, and executing the decoded instruction as per the opcode to generate NZ bitmasks for the first and second matrices, broadcast up to two NZ elements at a time from each row of the first matrix and each column of the second matrix to a processing engine (PE) grid, each PE to multiply and accumulate matching NZ elements of the first and second matrices with corresponding elements of the third matrix. Each PE further to store an NZ element for use in a subsequent multiplications.</abstract><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier
ispartof
issn
language eng
recordid cdi_epo_espacenet_US11847185B2
source esp@cenet
subjects CALCULATING
COMPUTING
COUNTING
ELECTRIC DIGITAL DATA PROCESSING
PHYSICS
title Systems and methods of instructions to accelerate multiplication of sparse matrices using bitmasks that identify non-zero elements
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-04T13%3A23%3A37IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-epo_EVB&rft_val_fmt=info:ofi/fmt:kev:mtx:patent&rft.genre=patent&rft.au=Heinecke,%20Alexander%20F&rft.date=2023-12-19&rft_id=info:doi/&rft_dat=%3Cepo_EVB%3EUS11847185B2%3C/epo_EVB%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true