TECHNOLOGIES FOR INDIRECTLY CALLING VECTOR FUNCTIONS
Technologies for indirectly calling vector functions include a compute device that includes a memory device to store source code and a compiler module. The compiler module is to identify a set of declarations of vector variants for scalar functions in the source code, generate a vector variant addr...
Gespeichert in:
Hauptverfasser: | , , , , , , |
---|---|
Format: | Patent |
Sprache: | eng ; fre |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Technologies for indirectly calling vector functions include a compute device that includes a memory device to store source code and a compiler module. The compiler module is to identify a set of declarations of vector variants for scalar functions in the source code, generate a vector variant address map for each set of vector variants, generate an offset map for each scalar function, and identify, in the source code, an indirect call to the scalar functions, wherein the indirect call is to be vectorized. The compiler module is also to determine, based on a context of the indirect call, a vector variant to be called and store, in object code and in association with the indirect call, an offset into one of the vector variant address maps based on (i) the determined vector variant to be called and (ii) the offset map that corresponds to each scalar function.
L'invention a trait à des technologies permettant d'appeler indirectement des fonctions vectorielles, et comprenant un dispositif de calcul qui inclut un dispositif mémoire destiné à mémoriser un code source et un module compilateur. Le module compilateur sert à identifier un ensemble de déclarations de variantes vectorielles pour des fonctions scalaires dans le code source, à générer une carte d'adresses de variantes vectorielles pour chaque ensemble de variantes vectorielles, à générer une carte de décalages pour chaque fonction scalaire, et à identifier, dans le code source, un appel indirect des fonctions scalaires, l'appel indirect devant être vectorisé. Le module compilateur est également conçu pour déterminer, sur la base d'un contexte de l'appel indirect, une variante vectorielle à appeler, et pour mémoriser, dans le code objet et en association avec l'appel indirect, un décalage dans l'une des cartes d'adresses de variantes vectorielles sur la base (i) de la variante vectorielle déterminée à appeler et (ii) de la carte de décalages qui correspond à chaque fonction scalaire. |
---|