Building a Local AI using AMD Radeon Pro WX7100 (Ubuntu 26.04) – Network and Security Engineer Automation.

Introduction

This project documents the process of building a completely local AI platform for Network Operations (AI NetOps) using an AMD Radeon Pro WX7100 GPU and open-source software.

The goal is to build an AI assistant capable of:

  • Understanding Cisco technologies
  • Performing Retrieval-Augmented Generation (RAG) using networking documentation
  • Integrating with automation tools such as Netmiko and pyATS
  • Running entirely on local infrastructure without requiring cloud-based LLM services

This blog covers the work completed so far and outlines the planned roadmap.


Project Objectives

The long-term objective is to build an AI platform that can:

  • Answer networking questions
  • Analyze Cisco configurations
  • Interpret “show” command outputs
  • Troubleshoot network issues
  • Retrieve information from Cisco documentation
  • Execute approved automation tasks
  • Operate entirely on local hardware


Hardware Platform

Server

  • Ubuntu 26.04
  • GCC 15.x
  • Docker
  • Python 3

GPU

AMD Radeon Pro WX7100

Specifications:

  • Polaris10 GPU
  • 8 GB GDDR5 VRAM
  • Vulkan support
  • Mesa RADV driver

Phase 1 – GPU Validation

The first task was verifying that Ubuntu correctly detected the GPU.

Verified using:

lspci

vulkaninfo –summary

Result:

  • AMDGPU driver loaded successfully
  • Vulkan detected
  • RADV driver active
  • GPU available to compute applications

Phase 2 – Building llama.cpp

Initially, several compilation problems were encountered.

Examples included:

  • Vulkan API compatibility errors
  • Missing GLSL compiler
  • Missing SPIRV-Headers
  • CMake configuration issues
  • Compiler compatibility with GCC 15
  • Build failures in older llama.cpp releases

After evaluating multiple commits, the latest upstream release successfully compiled with Vulkan support.

Successful build options:

cmake -B build \
-G Ninja \
-DGGML_VULKAN=ON \
-DCMAKE_BUILD_TYPE=Release

ninja -C build


Phase 3 – Verifying GPU Support

Verification command:

./build/bin/llama-cli –list-devices

Result:

Vulkan0:
AMD Radeon Pro WX7100

This confirmed Vulkan acceleration was functioning correctly.


Phase 4 – Installing Qwen3

The selected model was:

Qwen3-8B-Q4_K_M.gguf

The model was downloaded again from Hugging Face and verified successfully.


Phase 5 – Running llama-server

The server was launched with:

./build/bin/llama-server \
-m ~/models/Qwen3-8B-Q4_K_M.gguf \
-ngl 99 \
-c 8192 \
-t $(nproc) \
–host 0.0.0.0 \
–port 8080

Successful startup confirmed:

  • Model loaded
  • Vulkan backend initialized
  • OpenAI-compatible API available on port 8080

Phase 6 – Performance Testing

Multiple GPU layer configurations were evaluated.

Test 1

GPU Layers:

40

Performance:

  • Prompt: 144 tokens/sec
  • Generation: 16.3 tokens/sec

Test 2

GPU Layers:

99

Performance:

  • Prompt: 55.9 tokens/sec
  • Generation: 20.4 tokens/sec

This configuration provided the best generation speed.

Long-running generation tests produced stable performance around:

  • Prompt evaluation: ~75 tokens/sec
  • Generation: 15–17 tokens/sec

The system remained stable throughout extended inference sessions.

Test 3

./build/bin/llama-server \
-m ~/models/Qwen3.5-2b-Kimi-and-Opus-Distillation.Q8_0.gguf \
-c 16384 \
-ngl 80 \
–parallel 1 \
-t 16 \
-tb 32 \
-b 2048 \
-ub 1024 \
–flash-attn auto \
–cache-type-k q4_0 \
–cache-type-v q4_0 \
–no-mmap \
–host 0.0.0.0 \
–port 8080 \
–log-file /var/log/llama_server.log \
–log-colors on \
–metrics \
–mlock \
–context-shift \
–fit on \
–fit-ctx 16384 \
–keep 1 \
-n -1

GPU Layers:

80

Performance:

40Tokens /Second

This configuration provided the best generation speed.


Current Architecture

AMD WX7100
      │
Vulkan Backend
      │
llama.cpp
      │
llama-server
      │
Qwen3-8B
      │
OpenAI-Compatible API


Lessons Learned

Several valuable lessons emerged:

  • Always verify downloaded GGUF files before testing.
  • Use current upstream llama.cpp releases for newer compilers.
  • Install Vulkan development dependencies before compiling.
  • Build with Ninja for faster incremental compilation.
  • Test GPU detection before attempting model inference.
  • Benchmark multiple GPU layer settings instead of assuming higher values are always faster.

Next Phase – User Interface

The next milestone is integrating Open WebUI.

Planned architecture:

Open WebUI
      │
      ▼
llama-server
      │
      ▼
Qwen3

Objectives:

  • Browser-based chat interface
  • OpenAI-compatible connection
  • Multiple chat sessions
  • Conversation history
  • User management

Next Phase – Retrieval-Augmented Generation (RAG)

A Qdrant vector database will be introduced.

Knowledge sources will include:

  • Cisco documentation
  • RFCs
  • Internal runbooks
  • pyATS reports
  • Device configurations
  • Troubleshooting guides

Expected architecture:

Qdrant
      │
Cisco Documents
      │
Retriever
      │
Qwen3


Next Phase – AI Network Operations

The project will then integrate automation tools.

Components include:

  • FastAPI
  • Netmiko
  • pyATS
  • Genie
  • PostgreSQL
  • SNMP
  • RESTCONF
  • NETCONF

This enables the assistant to reason over documentation while also interacting with live network devices.


Planned Testing Roadmap

The following tests are planned as development progresses.

Performance

  • GPU layer benchmarking
  • Context window scaling (8K, 16K, 32K)
  • Concurrent user testing
  • Long-duration inference stability
  • Memory and VRAM utilization

RAG

  • Retrieval accuracy
  • Chunk size optimisation
  • Embedding model comparison
  • Citation quality
  • Response latency

Networking

  • Cisco configuration explanation
  • Routing protocol analysis
  • VXLAN EVPN troubleshooting
  • BGP policy validation
  • OSPF analysis
  • Wireless controller diagnostics
  • SD-WAN troubleshooting

Automation

  • Netmiko command execution
  • pyATS parsing
  • Genie structured output
  • Approval workflows
  • Error handling and recovery

Security

  • API authentication
  • Role-based access control
  • Audit logging
  • Secure secret management

Future Vision

The final platform will combine local LLM inference, RAG, automation, and operational data into a single AI NetOps assistant capable of assisting with day-to-day network engineering tasks while keeping sensitive information on local infrastructure.

I have also found an old NVIDIA Quadro K2200 with 4GB of RAM; let me try that in the Home Lab and post the next blog test results and interactions with My Lab (like Cisco Routers/Switches/WLCs/ firewalls).


Conclusion

This project has progressed from validating GPU support and overcoming build challenges to successfully running a Vulkan-accelerated local LLM on AMD hardware.

The foundation is now in place for the next stages: integrating Open WebUI, building a Cisco-focused knowledge base with Qdrant, and adding network automation through FastAPI, Netmiko, and pyATS.

Future updates will document the continued evolution of this local AI Network Operations platform.

Happy Labbinggggggggggggg!