Nodes/ComfyUI CV/cv2.ocl.haveAmdFft
ComfyUI Node

cv2.ocl.haveAmdFft

The sibling of a node almost nobody needs

By bmad4ever·Created 4 months ago·Updated 15 days ago· 1
cv2.ocl.haveAmdFft
    • bool

    cv2.ocl.haveAmdFft asks whether OpenCV can use the AMD clAmdFft extension. Same shape as its sibling cv2.ocl.haveAmdBlas: no inputs, one BOOLEAN output, and true only on an AMD GPU whose driver ships the extension.

    If you're on NVIDIA - the default ComfyUI setup - the answer is false, and that is fine. Nothing in the pack, and nothing in OpenCV's ordinary code paths, becomes broken by its absence; the extension is an optional fast path for AMD hardware, not a requirement. Don't go hunting drivers to flip it.

    Where it could matter: the Fourier-based parts of this pack. cv2.dft / cv2.idft / cv2_mulSpectrums are the nodes that would benefit from a vendor FFT library, so if you're on an AMD card running the Wiener-filter or periodic-noise subgraphs and you're curious whether the vendor path is live, this boolean is the direct query. That's the whole use case - a targeted diagnostic for one hardware family, on one class of operation.

    Reading it in context

    The pack's four cv2.ocl nodes are a set, and they're only meaningful together. haveOpenCL false makes both AMD probes moot - there's no OpenCL to extend. haveOpenCL true with useOpenCL false means the whole OpenCL path is switched off and the AMD extensions are irrelevant. Only when OpenCL is genuinely available and enabled do these two AMD booleans tell you anything, and even then they tell you about a performance path rather than a capability you can use directly.

    Because the node takes no inputs, it's evaluated once and cached for the session - the value is effectively a constant. The output is a BOOLEAN, fine for a note or a logging node, and meaningless wired into anything that touches pixels.

    If you actually want the inventory rather than a single bit, the pack's curated CV Build Information node prints OpenCV's whole build banner with filesystem paths redacted and reports Eigen, non-free, OpenCL and CUDA availability. One node, one readout, beats four probes.

    Install

    ComfyUI Manager → search ComfyUI CV → install → restart, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/bmad4ever/comfyui_cv
    pip install "opencv-contrib-python-headless~=5.0.0.93"
    

    Python ≥ 3.12, ComfyUI on the V3 node API. This node comes from cv2.ocl, a contrib submodule, so it needs the contrib wheel - and it vanishes if a plain opencv-python-headless ever gets installed over it, because all four OpenCV distributions share one site-packages/cv2 and the non-contrib build has no contrib submodules to offer. tools/repair_opencv_contrib.py --check tells you whether you've done that to yourself; --apply undoes it.

    Categoryimage/CV/low-level/ocl

    Inputs (0)

    No inputs

    Outputs (1)

    NameTypeDescription
    boolBOOLEAN—