Saltar al contenido

Código que se traduce solo

SARTECO 2026 · Artículo de investigación

Cómo enseñamos a un modelo de lenguaje a portar librerías vectoriales de x86 a RISC-V -y a corregir sus propios errores- logrando hasta 21,7× de aceleración en alineamiento genómico.

Porting the Striped Smith-Waterman Library to RISC-V via LLM-Driven Translation

Leer artículo en ZenodoSARTECO 2026Artículo de conferencia21,7× más rápido

El problema que aceleramos

Alineamiento de secuencias con Smith-Waterman

Smith-Waterman encuentra el mejor solapamiento entre dos secuencias de ADN rellenando esta matriz y siguiendo el rastro de mayor puntuación. Es exacto pero costoso: por eso se vectoriza. Es justo la librería que aceleramos.

ConsultaTGTTACGG
ReferenciaGGTTGACTA
G
G
T
T
G
A
C
T
A
T
3
3
1
3
1
G
3
3
1
1
6
4
2
1
T
1
1
6
4
4
3
1
5
3
T
4
9
7
5
3
4
2
A
2
7
6
10
8
6
7
C
5
4
8
13
11
9
G
3
3
1
3
8
6
11
10
8
G
3
6
4
2
6
5
9
8
7
Alineamiento óptimo
GTT-AC
GTTGAC
Puntuación máxima: 13

Dos fases, cero intervención humana

Del intrínseco x86 al vector RISC-V

Entrada · x86 SSE
__m128i r = _mm_add_epi16(a, b);
Salida · RISC-V Vector
vint16m1_t r = __riscv_vadd_vv_i16m1(a, b, vl);

Bucle de compilar y corregir

compilar
error
la IA corrige
correcto
Fase 1 · Corrección

Traduce las intrínsecas de x86 a RISC-V apoyándose en sse2rvv como base. El objetivo: que compile y dé exactamente el mismo resultado.

Fase 2 · Optimización

Reescribe el código para aprovechar la longitud vectorial escalable de RVV, exprimiendo un 1,30× extra de velocidad.

La investigación en breve

Cuatro ideas para entender el artículo sin ser experto.

El problema

RISC-V es una arquitectura de procesador abierta y en auge, pero le falta el enorme ecosistema de librerías optimizadas que x86 acumuló durante décadas. Portar ese código a mano es lento, delicado y exige expertos.

La idea

¿Y si un modelo de lenguaje hiciera la traducción? Le damos el código vectorial de x86 y le pedimos su equivalente en RISC-V, dejando que el propio compilador y el simulador le señalen cuándo se equivoca.

Cómo funciona

Un pipeline de dos fases: la primera garantiza que la traducción es correcta; la segunda la optimiza. En cada paso, un bucle de compilar-y-corregir deja que la IA arregle sus propios errores de forma iterativa.

Por qué importa

El resultado iguala en rendimiento y corrección a una implementación optimizada a mano, pero sin intervención humana. Es un camino para poblar RISC-V de software rápido mucho más deprisa.

aceleración máxima
21,7×
extra en la Fase 2
1,30×
líneas escritas a mano
0

Lee el artículo completo

Publicado en abierto (CC-BY 4.0) en las XXXVI Jornadas SARTECO 2026. Código y datos disponibles.

DOI: 10.5281/zenodo.21064372