Initial SQL-only 1C adapter baseline
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
param(
|
||||
[string]$SshTarget = "",
|
||||
[string]$ModelsRoot = "Z:\LLM\models",
|
||||
[int]$ConnectTimeoutSeconds = 5
|
||||
)
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
function Invoke-LocalCheck {
|
||||
param(
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$Name,
|
||||
[Parameter(Mandatory = $true)]
|
||||
[scriptblock]$Block
|
||||
)
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "== $Name"
|
||||
& $Block
|
||||
}
|
||||
|
||||
function Invoke-RemoteCheck {
|
||||
param(
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$Name,
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$Command
|
||||
)
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "== $Name"
|
||||
ssh -o BatchMode=yes -o ConnectTimeout=$ConnectTimeoutSeconds $SshTarget "powershell -NoProfile -Command $Command"
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
throw "Remote check failed on ${SshTarget}: ${Name}"
|
||||
}
|
||||
}
|
||||
|
||||
if ($SshTarget) {
|
||||
Invoke-RemoteCheck "Host identity" "whoami; hostname; `$PSVersionTable.PSVersion.ToString()"
|
||||
Invoke-RemoteCheck "GPU driver" "nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader"
|
||||
Invoke-RemoteCheck "Docker version" "docker version"
|
||||
Invoke-RemoteCheck "Docker compose" "docker compose version"
|
||||
Invoke-RemoteCheck "Docker info" "docker info --format '{{json .}}'"
|
||||
Invoke-RemoteCheck "Models drive" "if (-not (Test-Path '$ModelsRoot')) { New-Item -ItemType Directory -Force '$ModelsRoot' | Out-Null }; Get-Item '$ModelsRoot' | Select-Object FullName,Exists"
|
||||
Invoke-RemoteCheck "CUDA container" "docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi --query-gpu=name,memory.total --format=csv,noheader"
|
||||
Write-Host ""
|
||||
Write-Host "Windows GPU host preflight completed through SSH."
|
||||
exit 0
|
||||
}
|
||||
|
||||
Invoke-LocalCheck "Host identity" {
|
||||
whoami
|
||||
hostname
|
||||
$PSVersionTable.PSVersion.ToString()
|
||||
}
|
||||
|
||||
Invoke-LocalCheck "GPU driver" {
|
||||
nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader
|
||||
}
|
||||
|
||||
Invoke-LocalCheck "Docker version" {
|
||||
docker version
|
||||
}
|
||||
|
||||
Invoke-LocalCheck "Docker compose" {
|
||||
docker compose version
|
||||
}
|
||||
|
||||
Invoke-LocalCheck "Docker info" {
|
||||
docker info --format '{{json .}}'
|
||||
}
|
||||
|
||||
Invoke-LocalCheck "Models drive" {
|
||||
if (-not (Test-Path $ModelsRoot)) {
|
||||
New-Item -ItemType Directory -Force $ModelsRoot | Out-Null
|
||||
}
|
||||
Get-Item $ModelsRoot | Select-Object FullName,Exists
|
||||
}
|
||||
|
||||
Invoke-LocalCheck "CUDA container" {
|
||||
docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi --query-gpu=name,memory.total --format=csv,noheader
|
||||
}
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "Windows GPU host preflight completed."
|
||||
Reference in New Issue
Block a user