APPARATUS, METHODS, AND SYSTEMS FOR MEMORY CONSISTENCY IN A CONFIGURABLE SPATIAL ACCELERATOR
First Claim
1. An apparatus comprising:
- a spatial array of processing elements coupled by a first communications network;
a plurality of request address file circuits coupled to the spatial array of processing elements by the first communications network; and
a memory coupled to the plurality of request address file circuits by a second communications network, wherein;
a request address file circuit of the plurality of request address file circuits is to not issue, into the second communications network, an access request to the memory marked with a program order dependency on a previous, in program order, access request until receiving a first memory dependency token generated by completion of access of the previous, in program order, access request to the memory by another of the plurality of request address file circuits, anda single, request address file circuit of the plurality of request address file circuits is to, for a first access request to the memory received by the single, request address file circuit and a second access request to the memory marked with a program order dependency on the first access request received by the single, request address file circuit, provide a second memory dependency token for the program order dependency on issuance of the first access request into the second communications network, and then issue the second access request into the second communications network based on reading the second memory dependency token.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatuses relating to consistency in an accelerator are described. In one embodiment, request address file (RAF) circuits are coupled to a spatial array by a first network, a memory is coupled to the RAF circuits by a second network, a RAF circuit is to not issue, into the second network, a request to the memory marked with a program order dependency on a previous request until receiving a first token generated by completion of the previous request to the memory by another RAF circuit, and a second RAF circuit is to not issue, into the second network, a second request to the memory marked with a program order dependency on a first request until receiving a second token sent by a first RAF circuit when a predetermined time period has lapsed since the first request was issued by the first RAF circuit into the second network.
38 Citations
24 Claims
-
1. An apparatus comprising:
-
a spatial array of processing elements coupled by a first communications network; a plurality of request address file circuits coupled to the spatial array of processing elements by the first communications network; and a memory coupled to the plurality of request address file circuits by a second communications network, wherein; a request address file circuit of the plurality of request address file circuits is to not issue, into the second communications network, an access request to the memory marked with a program order dependency on a previous, in program order, access request until receiving a first memory dependency token generated by completion of access of the previous, in program order, access request to the memory by another of the plurality of request address file circuits, and a single, request address file circuit of the plurality of request address file circuits is to, for a first access request to the memory received by the single, request address file circuit and a second access request to the memory marked with a program order dependency on the first access request received by the single, request address file circuit, provide a second memory dependency token for the program order dependency on issuance of the first access request into the second communications network, and then issue the second access request into the second communications network based on reading the second memory dependency token. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory machine readable medium that stores code that when executed by a machine causes the machine to perform a method comprising:
-
coupling a plurality of request address file circuits to a spatial array of processing elements by a first communications network, and a memory to the plurality of request address file circuits by a second communications network; receiving, by a single, request address file circuit of the plurality of request address file circuits from the spatial array of processing elements, a first access request to the memory and a second access request to the memory marked with a program order dependency on the first access request; stalling issuance of the second access request into the second communications network by the single, request address file circuit; providing a first memory dependency token for the program order dependency on issuance of the first access request into the second communications network by the single, request address file circuit; and issuing the second access request into the second communications network based on reading the first memory dependency token by the single, request address file circuit. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. An apparatus comprising:
-
a spatial array of processing elements coupled by a first communications network; a plurality of request address file circuits coupled to the spatial array of processing elements by the first communications network; and a memory coupled to the plurality of request address file circuits by a second communications network, wherein; a request address file circuit of the plurality of request address file circuits is to not issue, into the second communications network, an access request to the memory marked with a program order dependency on a previous, in program order, access request until receiving a first memory dependency token generated by completion of access of the previous, in program order, access request to the memory by another of the plurality of request address file circuits, and a second request address file circuit of the plurality of request address file circuits is to not issue, into the second communications network, a second access request to the memory marked with a program order dependency on a first access request until receiving a second memory dependency token sent by a first request address file circuit of the plurality of request address file circuits when a predetermined time period has lapsed since the first access request to the memory was issued by the first request address file circuit into the second communications network. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A non-transitory machine readable medium that stores code that when executed by a machine causes the machine to perform a method comprising:
-
coupling a plurality of request address file circuits to a spatial array of processing elements by a first communications network, and a memory to the plurality of request address file circuits by a second communications network; receiving, by a second request address file circuit of the plurality of request address file circuits from the spatial array of processing elements, a second access request to the memory marked with a program order dependency on a first access request to the memory; stalling issuance of the second access request into the second communications network by the second request address file circuit; issuing the first access request to the memory into the second communications network by a first request address file circuit of the plurality of request address file circuits; sending a first memory dependency token by the first request address file circuit of the plurality of request address file circuits when a predetermined time period has lapsed since the first access request to the memory was issued by the first request address file circuit into the second communications network; and issuing the second access request into the second communications network based on receiving the first memory dependency token by the second request address file circuit. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification