 Je n'ai plus de questions. Nous allons au prochain talk. Il s'agit de « Data Flow Oriented Hardware Design » de la multiplication de polynoméles en RNA pour l'acceleration de l'Aéros HEE par Joël Catebras, Alexandre Carbon, Peter Milder, Renaud Sierder et Nicolas Ventroux. Joël va donner le talk. Merci. Bonsoir. Je suis heureux d'être ici pour pouvoir présenter le résultat d'un travail. Je vais parler de « Data Flow Oriented Hardware Design » pour l'acceleration de polynoméles en RNA pour l'acceleration de l'Aéros HEE, l'Aéros HEE pour l'acceleration de l'acceleration de l'Aéros HEE et je suis vraiment heureux d'avoir présenté ce que je vais parler ici. En particulier, je focusse sur l'Aéros HEE-based scheme et l'Aéros HEE-based scheme. Dans l'Aéros HEE-based scheme, nous devons utiliser l'élément de polynoméles. Dans le cas de l'encryption homomorphique, ces polynoméles sont vraiment grandes parce que si quelqu'un veut compter un grand nombre de multiplications dans l'endroit de l'encryptage, il veut augmenter le gorge de la ciphertexte. Et pour faire ça, il augmente le nombre de coopérations. Mais pour des raisons de sécurité, l'aidera aussi à s'améliorer et donc que l'aidera et l'aidera de coopérations sont problématiques. Une façon d'adresser la complexité de la coopération large est d'utiliser le système résidu. Dans cette représentation, selon la base de la module co-prime, une grande opération utilisée par la multiplication arithmétique devient une opération de k indépendante et plus petite dans la modulaire arithmétique. En 2016, Bajar et Tal proposent une variante de variantes de l'RNA par modifier la fonction de décryption et la multiplication et la réalisation. Et cette année, la variante de l'Allevier et Tal a modifié cette variante. Et nous n'avons pas que la neige de la performance soit toujours en place dans la multiplication résidue polinomiale. Et une façon d'adresser ceci est par la évolution de la co-prime négative. Donc, avec la co-prime négative, nous n'avons pas besoin d'une réduction polinomiale n'importe quoi, mais nous restons les choix de les rings polinomales et aussi l'élément de la base de l'RNA. Et plus en plus, nous devons compter un nombre de valeurs qui dépendent de la degree de la base de l'RNA et de l'élément de la base de l'RNA. Donc, dans l'élément de la base de l'RNA, nous n'avons pas besoin d'un étudiant d'une approche de l'élément de la base de l'RNA parce que si quelqu'un veut adresser la multiplication polinomiale avec des algorithmes qui sont moins costants que l'entité, nous devons faire des issues de complexité asymptotique. Et si nous choisissons l'approche de l'élément de la base de la base de l'RNA, nous devons s'adresser à ces facteurs de l'élément de la base de l'RNA qui ont un impact sur la ligue de communication avec leur accélérateur ou sur la coste de l'élément de la base de l'RNA. Donc, ici nous proposons juste un step forward dans la définition d'un approche de l'élément de la base de l'RNA par l'approche de la base de l'élément de la base de l'RNA avec la compétition de l'élément de la base de l'élément de l'élément de la base de l'RNA. Le principe d'architecture est d'établir une convolution négative dans un petit plan avec deux passes parallèles. La passée de l'élément de la base de l'élément de la base de l'élément de la base de l'RNA avec les polynomiaux, mais avant de la phase pré-computation qui lui-même a besoin des puissances de la base de l'élément de l'RNA minus 1, Ensuite, il déformait les entêtres, les produits intérieurs, les entêtres de base, et finalement la compétition post-compétition qui requiert les pouvoirs, les pouvoirs invers de la route primaire de minus 1. Et dans le parallèle pass, on compute les valeurs tridoles. On génère la première halve de les tridoles requiertes d'un nombre de cides gris. Ensuite, on compute l'autre halve de les facteurs de tridoles requiertes par l'utilisation du facteur que c est une route primaire de minus 1, donc on n'a qu'à ré-order la séquence. Et finalement, on scale la deuxième halve de les facteurs de tridoles par l'inverse de la haine sur le canal de l'Evrinesch. Donc dans cet approche, nous avons deux principales défis. La première c'était de générer la première halve de la séquence de les facteurs de tridoles avec la même route que la passée de la date, et la seconde c'était de générer un design entity qui est un canal de l'Evrinesch et dépendant parce que nous devons changer le canal de l'Evrinesch sur le flot sans grandes performances impactantes. Donc dans cette présentation, je vais seulement focuser sur la seconde challenge. Donc notre point de départ était discrète pour votre transformateur hardware proposé par Peter Midler dans le contexte du projet Spiral. Donc le projet Spiral est une automation de hardware et de software pour le domainage de procédé signal digital. Et en particulier, nous sommes vraiment intéressés dans la capacité d'exploration spatiale de ce DFT générateur. Donc pour transposer à l'entité, nous devons premièrement changer l'art rythmétique complexe de la génération de la modulaire. Et pour cela, nous avons décidé d'utiliser des primes pour la base de l'Evrinesch, comme sélectée par la sélection de la sélection de la prime de l'Evrinesch. Et pour toute la modulaire opération, en particulier la multiplication, nous avons utilisé des modulaires modulaires modulaires. Et la deuxième étape, c'est de modifier le facteur Twiddle et le link. En particulier, ceci est un exemple de une entité de PS qui s'entraîne. Et je l'ai utilisé dans Brown, toutes les valeurs spécifiques de l'Evrinesch. Et nous devons faire ce pass de data, et dépend de la chaîne de l'Evrinesch. Donc, ce que nous avons fait, c'est que nous extractons tous ces éléments spécifiques de l'Evrinesch et les connectons dans un modèle qu'on appelle le Bank Twiddle. Et en fait, nous l'installez jusqu'à des différents banks Twiddle. Donc, juste suffisamment de reprogrammer l'une et d'avoir suffisamment d'assurer que l'entité s'entraîne dans le pass de data. Donc, à chaque étape, nous l'avons créé un signal de synchronisation sur lequel un module de contrôle va conduire l'interconnectation de différents banks Twiddle pour assurer chaque étape de l'entité. Dans une façon similaire, nous avons créé toutes les adresses de l'Evrinesch pour adresser les souvenirs dans les différents banks Twiddle. Et finalement, nous devons faire ces banks Twiddle programmables. Et pour faire ça, nous l'installez un module de programme qui est associé à un flow Twiddle programmé, un flow Twiddle programmé, un adresse correcte et des signals corrects pour chaque élément de mémoire dans le Bank Twiddle. Donc, pour faire ça, nous l'installez quelques comptes et nous avons créé une première adresse de l'intégration de concept pour essayer d'en prendre en compte les issues de communication des fonds de transports. Et nous l'installez un petit peu plus tard, et nous l'installez un petit peu plus tard. Et nous l'installez un petit peu plus tard. Et nous l'installez un petit peu plus tard. Ce sont des issues de communication des fonds de transports et des werkages. Donc, c'est juste un petit rappeur avec un peu plus d'un module qui cherche les éléments des «PCIE » sur les fonds, sur lesquels nous nous avons créé cette expérience. et nous étions vraiment intéressés dans le bandwidth que nous pouvons atteindre avec ce modul et nous pouvons mettre sur le FPGA à environ 4 GB par seconde et lire sur le FPGA à environ 2-3 GB par seconde mais c'était juste pour vérifier que la communication n'aurait pas été une majorité d'intégrer et nous avons élevé les ressources plus concernées pour l'approche RPM mais nous étions vraiment intéressés dans la question sur quelle est cette approche scale dans le contexte ACG Donc, premièrement, en connaissant toutes les parties différentes de notre design dans les paramètres de la taille, nous avons fait des projections sur ce qui s'est passé si nous voulons augmenter le degré des polynomials différents et donc nous avons vu que, en ce cas, les B-RAMs peuvent être restrictifs à un point et la plupart des B-RAMs sont utilisés pour les permutations de l'entité mais pour un degré, nous voulons voir si nous augmentons le paralysme si nous augmentons le nombre de mots par seconde et en ce cas, quand nous augmentons le paralysme nous avons un grand increase dans l'utilisation de DSP mais aussi, le degré de bound-wiss pour le fully load ou l'accélérateur est vraiment, vraiment énorme donc ce n'est peut-être pas le meilleur moyen d'améliorer les performances et finalement, si quelqu'un veut changer les éléments de prime-size donc les éléments de la base RNA nous avons un impact balancé sur l'utilisation de DSP et B-RAM mais, à un point, nous pouvons être restrictifs à un degré de bound-wiss donc, en regardant les performances, dans le cas étudiant de la variante RNA de FV nous avons fait des projections sur le timing qui a été présenté par Alevi et Tal et ce que nous regardons, notre approche semble être d'avoir un speed-up qui est relativement escalable avec l'augmentation des paramètres et après l'accélération, le nouveau timing de RPM est de plus de 15% de la nouvelle fois donc le bouton-nec n'est pas placé sur les opérations spécifiques de RNA et pour un degré de paramètres, si nous voulons augmenter le paralysme nous avons un degré de speed-up, mais comme l'on l'a déjà vu dans le précédent slide le bound-wiss est vraiment restrictif et le DSP peut devenir rapidement restrictif aussi et pour un degré de paramètres, si nous changez le degré de la base RNA nous avons un degré de speed-up parce que nous réduisons le nombre d'opérations que nous devons conduire le nombre d'opérations de résidus et de polynomérabilisation que nous devons faire et cela sous la balance de DSP et de Biramex H donc pour conclure ce travail, je dirais que pour l'implémentation hardware pour SHE nous devons avoir un approche flexible parce que le refinement de paramètres est encore en progrès et il semble que le débat multiplicatif a un impact significatif sur les deux dégrés et l'impact coefficient notre réponse est de minimiser l'impact de l'impact coefficient sur notre design de hardware par compter sur le vol des facteurs de trédol pour une convolution négative et nous essayons d'expliquer la connaissance de la communauté de processus de signal digital sur le DFT la perspective de recherche est d'exemple, nous impliquons un degré de résidus et de polynomérabilisation mais qu'est-ce qu'il y a pour impliquer juste une entité plutôt que l'opération complète et qu'est-ce qu'il change ? nous devons aussi finir l'intégration du système propre pour les différents designs que nous pouvons générer et finalement faire des explorations de design space et en regardant le travail précédent et d'autres métiers sur l'accélération de JPEU pour la variante de la variante full-abraînée une perspective de l'application est d'avoir une architecture Nibrid pour l'accélération de SHE merci pour votre attention, si vous avez une question une question ? j'ai une question pouvez-vous retourner au slide d'expérimentation ? je n'ai pas compris le résultat de Allévi et Hall et toi Allévi et Hall proposent une variante complète pour la variante full-abraînée juste l'opération de l'extension basée et la variante complète en regardant le travail précédent de Baja et ici, ce que nous avons fait c'est qu'Allévi montre par des résultats profilés et des timings que la multiplication de résidus polynomére est encore la plus grande partie et le stock prévu aussi montre des timings et ce que nous avons fait c'est qu'on propose un accélérateur d'accélérateur pour la multiplication de douce polynomére et nous avons rencontré un outil indépendant de la channel RNA donc complètement compatible avec la représentation RNA ok, merci donc si il n'y a pas... oh, il y a une ? je pense que la performance que vous avez montée ici c'est seulement pour les multiplications c'est la multiplication de deux polynomére depuis que vous avez déjà utilisé le DSP donc votre DSP peut être utilisé pour générer le noise qui est réquestée par un homomorphique ou votre niveau de phonéomorphique donc avez-vous déjà pensé à ça ? déjà implementé ou n'avez-vous pas fait ça ? non, je n'ai pas fait ça oui, parce que le DSP a déjà fait cette partie oui ok, second question, parce que vous voyez que votre niveau est sur le niveau 30 c'est à dire que vous faites 30 multiplications pour les polynomére donc votre niveau L c'est à dire que vous n'avez pas fait un homomorphique vous avez juste fait un homomorphique donc vous êtes sur le niveau 30 mais votre bandwidth vous voyez, c'est le constant donc je ne sais pas comment ce critère arrive donc si vous faites le niveau 1, le niveau 5 ou le niveau 30 ils ne changent pas je suis désolé, je ne comprends pas la question ou les questions, par exemple, votre L c'est à dire que vous avez beaucoup de multiplications donc oui, l'L est le nombre de multiplications de ciphertexte que nous pouvons faire oui, mais votre bandwidth c'est constant et le bandwidth usage c'est juste fonction des paramètres du accélérateur hardware parce que notre accélérateur hardware est un fully streaming flow, donc le bandwidth usage donc si nous voulons augmenter l'entité, nous voulons juste ajouter un stage avec le même numéro de ciphertexte par cycle que nous prenons dans l'input et dans l'output donc la cause de ces ciphertexte hardware est d'avoir un troupage un troupage fixé de différentes multiplications de polynomials et d'achever ce troupage nous devons juste avoir des mots par cycle donc le bandwidth usage c'est juste la fréquence multipliée par le nombre de mots et le nombre de mots on crie ok j'ai encore des questions peut-être que nous pouvons discuter merci si il n'y a pas plus de questions je vous remercie à tous les speakers de la session