Update README.md
Browse files
README.md
CHANGED
|
@@ -1,15 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
pinned: false
|
| 11 |
-
license: mit
|
| 12 |
-
short_description: 'ROCm-Sentinel, a system designed to redefine how developers '
|
| 13 |
---
|
| 14 |
|
| 15 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<div align="center">
|
| 2 |
+
<img src="https://img.shields.io/badge/AMD-ROCm-ed1c24?style=for-the-badge&logo=amd&logoColor=white" alt="AMD ROCm" />
|
| 3 |
+
<img src="https://img.shields.io/badge/AI_Agent-LangGraph-000000?style=for-the-badge&logo=openai&logoColor=white" alt="LangGraph" />
|
| 4 |
+
<img src="https://img.shields.io/badge/UI-Gradio-ff7c00?style=for-the-badge" alt="Gradio" />
|
| 5 |
+
|
| 6 |
+
<h1>🚀 ROCm-Sentinel</h1>
|
| 7 |
+
<p><strong>Agente de IA Seguro para la Migración Automatizada de NVIDIA CUDA a AMD ROCm (HIP)</strong></p>
|
| 8 |
+
</div>
|
| 9 |
+
|
| 10 |
+
---
|
| 11 |
+
|
| 12 |
+
## 📖 Sobre el Proyecto
|
| 13 |
+
|
| 14 |
+
**ROCm-Sentinel** es una herramienta asistida por Inteligencia Artificial diseñada para romper el "vendor lock-in" en el desarrollo de software acelerado por hardware. Utilizando un flujo de trabajo agéntico (Agentic Workflow), la aplicación toma código nativo de NVIDIA CUDA y lo traduce automáticamente a AMD HIP (Heterogeneous-Compute Interface for Portability), garantizando una transición suave hacia el ecosistema de AMD ROCm.
|
| 15 |
+
|
| 16 |
+
No solo actúa como un traductor sintáctico, sino que incorpora un **Auditor de Seguridad** autónomo que revisa el código generado en busca de fugas de memoria, problemas de paralelismo y optimizaciones específicas para arquitecturas AMD.
|
| 17 |
+
|
| 18 |
+
---
|
| 19 |
+
|
| 20 |
+
## 🎯 Metas y Visión
|
| 21 |
+
|
| 22 |
+
1. **Democratizar el Hardware:** Facilitar a los desarrolladores y empresas la migración de sus cargas de trabajo desde ecosistemas cerrados hacia plataformas abiertas y competitivas como AMD.
|
| 23 |
+
2. **Migración Segura (Zero-Leak):** Ir más allá del simple "buscar y reemplazar". Asegurar que el código resultante gestione correctamente la memoria unificada y los hilos en las GPUs de AMD.
|
| 24 |
+
3. **Flujo de Trabajo Interactivo:** Proveer una interfaz amigable donde el desarrollador actúe como supervisor (Human-in-the-Loop), guiando al agente a través de un chat en tiempo real.
|
| 25 |
+
|
| 26 |
+
---
|
| 27 |
+
|
| 28 |
+
## 🧠 Modelos de Lenguaje (Agentes IA)
|
| 29 |
+
|
| 30 |
+
Nuestra arquitectura multi-agente (Traductor + Auditor) está potenciada por LLMs de última generación a través de la API de Fireworks AI.
|
| 31 |
+
|
| 32 |
+
* 🟢 **Modelo Actual en Uso: `DeepSeek V3.1`**
|
| 33 |
+
* Actualmente, el proyecto está configurado para ejecutarse sobre DeepSeek V3.1, un modelo altamente capaz con un razonamiento lógico excepcional y tiempos de respuesta ultrarrápidos para la demostración interactiva.
|
| 34 |
+
* ⭐ **Modelo Recomendado: `Qwen2.5-Coder 32B Instruct`**
|
| 35 |
+
* Para entornos de producción y repositorios de código complejos, **recomendamos fuertemente** cambiar la configuración al modelo Qwen 2.5 Coder. Al estar entrenado específicamente en sintaxis de programación profunda, ofrece una fidelidad superior en la traducción de punteros y directivas complejas de C++/CUDA.
|
| 36 |
+
|
| 37 |
---
|
| 38 |
+
|
| 39 |
+
## 🛠️ Tecnologías Utilizadas
|
| 40 |
+
|
| 41 |
+
* **Python 3** - Lenguaje base.
|
| 42 |
+
* **Gradio** - Construcción de la interfaz web interactiva.
|
| 43 |
+
* **LangGraph & LangChain** - Orquestación del flujo de trabajo de los agentes (nodos y aristas).
|
| 44 |
+
* **Fireworks AI** - Proveedor de inferencia Serverless de los modelos LLM de código abierto.
|
| 45 |
+
|
|
|
|
|
|
|
|
|
|
| 46 |
---
|
| 47 |
|
| 48 |
+
## ⚙️ Instalación y Uso Local
|
| 49 |
+
|
| 50 |
+
Sigue estos pasos para desplegar ROCm-Sentinel en tu propia máquina:
|
| 51 |
+
|
| 52 |
+
1. **Clonar el repositorio:**
|
| 53 |
+
```bash
|
| 54 |
+
git clone [https://github.com/MrZRo/ROCm-Sentinel.git](https://github.com/MrZRo/ROCm-Sentinel.git)
|
| 55 |
+
cd ROCm-Sentinel
|
| 56 |
+
|
| 57 |
+
2. **Crear y activar un entorno virtual:**
|
| 58 |
+
```bash
|
| 59 |
+
# En Windows
|
| 60 |
+
python -m venv env
|
| 61 |
+
source env/Scripts/activate
|
| 62 |
+
|
| 63 |
+
# En Linux/Mac
|
| 64 |
+
python3 -m venv env
|
| 65 |
+
source env/bin/activate
|
| 66 |
+
```
|
| 67 |
+
|
| 68 |
+
3. **Instalar dependencias:**
|
| 69 |
+
```bash
|
| 70 |
+
pip install -r requirements.txt
|
| 71 |
+
```
|