A. Pousa, V. Sanz
Memoria Investigaciones en Ingeniería, núm. 27 (2024). pp. 238-247
https://doi.org/10.36561/ING.27.15
ISSN 2301-1092 • ISSN (en línea) 2301-1106 – Universidad de Montevideo, Uruguay 243
Foster (28) plantea que la QC no será adecuada para todas las cargas de trabajo, sino que complementará a las
arquitecturas HPC clásicas cuando sea necesario. Britt (27) plantea una idea similar y la posibilidad de usar máquinas
cuánticas como coprocesadores, de la misma forma que sucede actualmente con las GPUs. Perelshtein (29) muestra la
ventaja práctica de este enfoque al ejecutar algoritmos específicos sobre una arquitectura híbrida, que combina
infraestructura clásica de alto rendimiento (CPUs, GPUs) y QPUs simuladas. Asimismo, Britt (27) pone de manifiesto
que deben considerarse nuevas métricas, basadas en las puertas cuánticas y el número de shots, para evaluar el
rendimiento de los algoritmos cuánticos.
En cuanto a la integración HPC-QC, los artículos (27; 30; 31; 32) realizan propuestas que abarcan: la integración de
estas arquitecturas, el desarrollo de middlewares que faciliten el uso y administración de recursos clásicos-cuánticos,
la integración de las herramientas de programación cuántica y aquellas usadas en HPC y el fácil acceso a la
infraestructura como un todo.
Britt (30) expone algunos desafíos para alcanzar dicha integración: la incompatibilidad entre las tecnologías de
computación cuántica y clásica, y el esfuerzo para gestionar las interacciones lógicas entre ambos tipos de sistemas y
errores en la información cuántica.
5. Discusión. - Actualmente, las computadoras cuánticas necesitan de un ambiente controlado y no se encuentran
integradas en sistemas HPC clásicos. Por esta razón, sólo pueden ser accedidas individualmente a través de servicios
en la Nube.
Varios artículos proponen incorporar QPUs en sistemas HPC, cumpliendo el rol de coprocesador, al igual que sucede
con las GPUs actualmente. Eventualmente, las QPUs podrían ser accedidas a través del nodo que las contiene. Por lo
tanto, el nodo tendrá múltiples opciones de procesamiento (Figura Id): cores, GPU/s y QPU/s. El primer desafío es
resolver la incompatibilidad tecnológica entre los sistemas clásicos HPC y las QPUs para lograr una correcta
integración. Los sistemas clásicos están basados en silicio y este no es el caso de las computadoras cuánticas actuales.
Aun cuando se consiga una integración adecuada, es necesario que la interacción entre ambos sistemas se encuentre
libre de interferencias tal como se plantea en (31).
Otros de los desafíos plantean cómo se procesarán y distribuirán las cargas de trabajo en los sistemas integrados HPC-
QC. En (28) los autores plantean que la QC, al igual que las GPUs en sistemas HPC actuales, podría no ser adecuada
para todas las cargas de trabajo. En un sistema actual HPC clásico, compuesto por cores y GPUs, es común plantear
tres tipos de estrategias de procesamiento: tipo pipeline, colaborativo o independiente. Estas mismas estrategias podrían
emplearse al integrar las QPUs. Las aplicaciones que corran en este sistema híbrido HPC-QC deberán seleccionar las
unidades de procesamiento (CPU cores, GPUs, QPUs) que mejor se adapten a la tarea específica a resolver.
Las aplicaciones tipo (pipeline), que atraviesan etapas donde la salida de una es la entrada de la siguiente, podrán
resolver cada etapa sobre la unidad de procesamiento más adecuada. En algunos casos, podrá alcanzarse el máximo
paralelismo, haciendo que todas las unidades de procesamiento trabajen simultáneamente, cada una cumpliendo una
etapa.
Las aplicaciones cuyo cómputo sea factible de realizarse en todas las unidades de procesamiento podrán usar dichas
unidades de forma colaborativa y en paralelo. En este caso, cada unidad de procesamiento hará el mismo trabajo sobre
una parte de los datos de entrada. El desafío está en distribuir adecuadamente los datos entre las unidades en función
de su potencia de cómputo, de manera que todas terminen la ejecución al mismo tiempo. En este caso, será necesario
hacer un profiling, es decir ejecutar la aplicación sobre cada unidad de procesamiento para determinar su potencia de
cómputo.
Otro tipo de aplicaciones podría beneficiarse al usar únicamente un tipo de unidad de manera independiente: sólo las
QPUs, sólo los CPU cores, o sólo las GPUs. Un desafío no menos importante, y que dependerá de cómo se resuelva la
tecnología de integración subyacente, está relacionado a cómo compartir datos entre el sistema clásico HPC y las QPUs.
En un sistema HPC actual, los datos residen en la RAM de la CPU y se comparten con una GPU realizando copias