Un parser de JSON experimental que se ejecuta íntegramente en la GPU mediante compute shaders de WebGPU

Fuentes: slurpjson: a JSON parser that runs entirely on the GPU via WebGPU compute shaders

slurpjson es un proyecto de código abierto que realiza el análisis sintáctico de JSON por completo en la unidad de procesamiento gráfico, apoyándose en compute shaders de WebGPU a través de la biblioteca wgpu. La herramienta descompone la tarea de parseo en una canalización de escaneos de prefijos paralelos, una técnica que produce como resultado una cinta plana de caracteres estructurales que representa la estructura del documento JSON.

El proyecto se concibe como una investigación sobre cómo reducir el análisis de JSON a los problemas que el ingeniero Raph Levien describe como «invitingly parallel», es decir, problemas con un alto grado de paralelismo susceptible de aprovechar en hardware gráfico. No se trata, por tanto, de una biblioteca lista para producción, sino de un banco de pruebas para explorar las capacidades de la GPU en una tarea tradicionalmente dominada por la CPU.

En la práctica, el usuario instancia un parser con slurpjson::Parser::try_new(), lo aplica a una cadena JSON y obtiene una cinta (tape) que, combinada con el texto original, permite construir un objeto Document navegable. El ejemplo incluido en el repositorio muestra cómo parsear un JSON anidado con objetos, arreglos y valores numéricos, y cómo inspeccionar el documento resultante con dbg!.

El repositorio enlaza además a dos publicaciones de Raph Levien sobre parsing de JSON en GPU y sobre el monoid de pila, que sirven como marco teórico. Para desarrolladores interesados en procesamiento paralelo y en la intersección entre Rust, WebGPU y formatos de datos, slurpjson ofrece un punto de partida experimental con código claro y dependencias acotadas.