Hardware · CUDA · Inteligencia artificial

Cómo armé mi PC para Ciencia de Datos e instalé CUDA

Una bitácora personal y técnica sobre la construcción de mi estación de trabajo: desde la elección de los componentes hasta conseguir que Python y PyTorch reconocieran correctamente la GPU.

Por Guillermo Fernández Vega Publicado en 2026 Lectura aproximada: 10 minutos

Este computador no nació solamente como una máquina para jugar. Lo armé como una herramienta de estudio, experimentación y desarrollo profesional, capaz de trabajar con análisis de datos, machine learning, redes neuronales, procesamiento de imágenes y proyectos de inteligencia artificial ejecutados localmente.

1. El objetivo del equipo

Durante mi formación en Ingeniería en Ciencia de Datos empecé a trabajar con notebooks de Python, Pandas, visualización, modelos de machine learning y redes neuronales. A medida que los proyectos crecían, también aumentaba la necesidad de contar con más memoria, almacenamiento rápido y una GPU compatible con el ecosistema de NVIDIA.

Mi objetivo era construir un equipo equilibrado: suficientemente potente para entrenar modelos y procesar datos, pero también útil para desarrollo web, producción musical, multitarea y videojuegos modernos.

2. Componentes principales

Procesador AMD Ryzen 7 9700X
Tarjeta gráfica ASUS Prime GeForce RTX 5070 OC, 12 GB GDDR7
Placa madre ASRock X870 Steel Legend WiFi
Memoria 32 GB Kingston Fury Beast DDR5 6400 CL32
Almacenamiento 2× SSD NVMe Kingston — 1 TB (sistema) + 2 TB (datos y proyectos)
Fuente y gabinete Corsair 750 W y Corsair 480T Airflow

La RTX 5070 fue una pieza central del proyecto. Además del rendimiento gráfico, una GPU NVIDIA permite utilizar CUDA y acelerar cargas de trabajo compatibles, especialmente en frameworks como PyTorch.

Los 32 GB de RAM son suficientes para una gran cantidad de trabajos académicos, análisis de datos y modelos medianos. Aun así, dejé abierta la posibilidad de ampliar a 64 GB si en el futuro comienzo a trabajar con datasets más grandes, máquinas virtuales o procesos de entrenamiento más pesados.

3. El proceso de armado

Este equipo no lo armé solo: lo construí junto a Angelo, mi familiar y técnico en redes. Su experiencia fue clave en el orden del cableado, el montaje de la GPU y la resolución de los primeros problemas de arranque. Armar en pareja hace el proceso más seguro y, de paso, se aprende el doble.

El armado comenzó fuera del gabinete, instalando primero el procesador, la memoria RAM y las dos unidades NVMe Kingston sobre la placa madre. Esta forma de trabajo facilita la manipulación y permite revisar con más claridad que cada componente esté correctamente asentado.

  1. Instalé el Ryzen 7 9700X respetando la marca de orientación del socket.
  2. Monté el sistema de refrigeración y conecté el ventilador al encabezado de CPU.
  3. Instalé los dos módulos de RAM en los bancos recomendados por el manual.
  4. Monté los dos SSD NVMe Kingston (1 TB y 2 TB) con sus disipadores.
  5. Fijé la placa madre dentro del gabinete.
  6. Instalé la fuente de poder y ordené los cables principales.
  7. Monté la RTX 5070 y conecté correctamente su alimentación.
  8. Revisé conexiones, ventiladores y panel frontal antes del primer encendido.
En un equipo de este nivel conviene tomarse el tiempo necesario con el cableado, la alimentación de la GPU y la instalación de la memoria. La mayoría de los problemas del primer arranque suelen venir de una conexión incompleta, un módulo mal asentado o una configuración agresiva de memoria.

4. Windows, drivers y preparación del entorno

Después de instalar Windows, actualicé primero el sistema operativo y luego instalé los controladores del chipset AMD, red, audio y GPU. Para CUDA es fundamental que el controlador NVIDIA esté funcionando correctamente antes de probar cualquier framework.

La primera comprobación fue abrir una terminal y ejecutar:

nvidia-smi

Este comando permite confirmar que Windows detecta la tarjeta, que el driver está cargado y que la GPU puede comunicarse correctamente con el sistema.

También preparé un entorno aislado de Python para evitar mezclar librerías de distintos proyectos:

python -m venv .venv
.venv\Scripts\activate
python -m pip install --upgrade pip

5. Instalación y comprobación de CUDA

Una de las cosas más importantes que aprendí es que “tener CUDA instalado” puede significar varias cosas diferentes. El driver NVIDIA incluye lo necesario para que las aplicaciones compatibles utilicen la GPU, mientras que el CUDA Toolkit incorpora herramientas de desarrollo, compiladores y utilidades adicionales.

En mi caso seguí este orden:

  1. Instalar y verificar el driver NVIDIA.
  2. Comprobar la GPU con nvidia-smi.
  3. Instalar Python de 64 bits.
  4. Crear un entorno virtual.
  5. Instalar una versión de PyTorch compatible con CUDA.
  6. Ejecutar una prueba real desde Python.

Cuando el CUDA Toolkit está instalado, el siguiente comando permite comprobar su compilador:

nvcc --version
No siempre es obligatorio instalar manualmente todo el CUDA Toolkit para usar PyTorch. Algunas distribuciones de PyTorch incluyen sus propias dependencias de CUDA. Lo importante es seguir la instalación recomendada para la versión de PyTorch y el sistema operativo utilizados.

6. Prueba con Python y PyTorch

La comprobación definitiva no fue solamente ver la GPU en Windows, sino lograr que el framework la reconociera desde Python.

import torch

print("Versión de PyTorch:", torch.__version__)
print("CUDA disponible:", torch.cuda.is_available())

if torch.cuda.is_available():
    print("GPU detectada:", torch.cuda.get_device_name(0))
    print("Versión CUDA usada por PyTorch:", torch.version.cuda)
else:
    print("PyTorch está trabajando solamente con CPU.")

Para confirmar que realmente se podía ejecutar una operación en la tarjeta gráfica, hice una prueba creando tensores directamente en CUDA:

import torch

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

a = torch.rand((3000, 3000), device=device)
b = torch.rand((3000, 3000), device=device)
c = a @ b

print("Dispositivo utilizado:", c.device)
print("Resultado:", c.shape)
Cuando el resultado muestra un dispositivo como cuda:0, significa que la operación fue ejecutada en la GPU y que el entorno está funcionando correctamente.

7. Problemas y aprendizajes

La memoria RAM y EXPO

Una de las primeras dificultades fue la estabilidad al activar el perfil EXPO de la memoria. Las frecuencias altas pueden requerir entrenamiento de memoria, actualizaciones de BIOS o pequeños ajustes. Aprendí que conviene probar primero el equipo con valores predeterminados y activar EXPO después de confirmar que todo funciona.

Drivers y pantallas

También tuve algunos comportamientos extraños relacionados con los monitores y el controlador gráfico. Esto me obligó a revisar conexiones DisplayPort, reinstalar el driver y probar el sistema con configuraciones como HDR y sincronización adaptativa desactivadas.

CUDA no es una aplicación visible

Al principio esperaba una confirmación más evidente, como si CUDA fuera un programa tradicional. En realidad, su funcionamiento se comprueba mediante herramientas, librerías y código. Ver nvidia-smi, comprobar torch.cuda.is_available() y ejecutar un tensor en cuda:0 fueron pruebas mucho más útiles.

Los entornos virtuales evitan muchos problemas

Instalar cada proyecto en un entorno virtual separado facilita la administración de versiones y reduce conflictos entre Python, PyTorch, TensorFlow y otras dependencias.

8. Resultado final

El resultado es una estación de trabajo capaz de cubrir varias áreas que forman parte de mi perfil: ciencia de datos, programación, inteligencia artificial, producción musical, desarrollo web y gaming.

La RTX 5070 me permite experimentar localmente con modelos de deep learning, mientras que el Ryzen 7 9700X y los 32 GB de memoria entregan una base sólida para multitarea, análisis de datos y proyectos más exigentes.

Parte 2 disponible: documenté los resultados reales de Superposition, Prime95, temperaturas y memoria. Ver benchmarks y pruebas de estabilidad →

Armar este computador —junto a Angelo— fue más que elegir componentes potentes. Fue aprender sobre compatibilidad, configuración, drivers, entornos de desarrollo y resolución de problemas reales.

El siguiente paso es aprovechar esa potencia para construir proyectos concretos, documentar los resultados y seguir transformando el aprendizaje técnico en experiencia profesional.