Read from vLLM's release pipeline: every x86 build from 0.20.0 has kernels for compute 7.5 and up, the CUDA 12.9 one included, and 0.19.1 is the last built for 7.0. PyPI's build is CUDA 13 from 0.20, not 0.26. A V100 asked for a newer vLLM is refused, naming 0.19.1 for engine_overrides; the CUDA 12.9 fallback is for older drivers on Turing and newer. The cu129 wheel is found among the release's assets, since its manylinux tag differs between versions. Refs #2. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
40 lines
1.6 KiB
Go
40 lines
1.6 KiB
Go
package cli
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
|
|
"github.com/spf13/cobra"
|
|
|
|
"gitea.mynodes.xyz/ilker/llmgw/internal/control/adminapi"
|
|
)
|
|
|
|
func newEngineBuildCmd(client func() *ctlClient) *cobra.Command {
|
|
return &cobra.Command{
|
|
Use: "engine-build <node> <engine> <build>",
|
|
Short: "Choose which build of an engine a GPU node installs",
|
|
Long: "A node installs the build of vLLM its hardware runs: CUDA 13 where the\n" +
|
|
"driver and GPUs allow, else the same version built for CUDA 12.9. This\n" +
|
|
"chooses instead, as the cluster page's vLLM build column does:\n\n" +
|
|
" auto what the hardware runs (the default)\n" +
|
|
" cu13 the CUDA 13 build, from PyPI\n" +
|
|
" cu129 the CUDA 12.9 build, from vLLM's GitHub release\n" +
|
|
" none no vLLM on this node\n\n" +
|
|
"The node is told at once and installs it in the background; a build it\n" +
|
|
"cannot compute with on its GPU fails to install, saying why, and the\n" +
|
|
"cluster page shows it. A V100 runs neither build of vLLM 0.20 or later;\n" +
|
|
"give it 0.19.1 with engine_overrides in the server's configuration.\n\n" +
|
|
" llmgw ctl engine-build gpu07 vllm cu129",
|
|
Args: cobra.ExactArgs(3),
|
|
RunE: func(cmd *cobra.Command, args []string) error {
|
|
body, _ := json.Marshal(adminapi.NodeEngineRequest{Engine: args[1], Build: args[2]})
|
|
if err := client().post(cmd.Context(), "/api/v1/nodes/"+args[0]+"/engines", body, nil); err != nil {
|
|
return err
|
|
}
|
|
fmt.Fprintf(cmd.OutOrStdout(), "%s: %s build %s; the node installs it in the background (llmgw ctl nodes shows it)\n",
|
|
args[0], args[1], args[2])
|
|
return nil
|
|
},
|
|
}
|
|
}
|