You ran pip install faiss-gpu and got this back: ERROR: Could not find a version that satisfies the requirement faiss-gpu (from versions: none) ERROR: No matching distribution found for faiss-gpu This is not a typo and your internet is fine. The error means pip looked for a faiss-gpu file that matches your computer and found nothing it could use. The fix depends on your system: on Linux with an NVIDIA GPU you can install it straight from pip, on other setups you use conda, and if you do not have an NVIDIA GPU at all you install the CPU version instead. Below is each path, in plain steps. Why this error happens Pip installs ready-made files called wheels. A wheel is built for a specific operating system, Python version, and chip. When you ask for a package, pip can only install it if a wheel exists that matches all three. If none matches, you get the “no matching distribution” message. Source: support.originpc With faiss-gpu, four things commonly cause the mismatch: You are on Windows or macOS. The GPU build only ships for Linux on 64-bit Intel or AMD chips. There is no Windows or Mac wheel at all. You pinned an old version. Commands like pip install faiss-gpu==1.7.2 point at a release that was only published through conda, so pip finds nothing. Your Python is too new or too old. The published wheels target Python 3.10 and up. Very old or very new Python can fall outside that range. You have no NVIDIA GPU. The GPU package needs CUDA, NVIDIA’s GPU computing toolkit. Without an NVIDIA card there is no build for you. Quick gut check: if you are not on Linux and do not have an NVIDIA GPU, you cannot use the GPU build. Jump to the faiss-cpu section. It runs everywhere and is plenty fast for most projects. What faiss-gpu actually is Faiss is a library from Meta AI Research for fast similarity search. It takes a big pile of vectors, the number lists that models use to represent text, images, or audio, and finds the closest matches to a query in milliseconds. It powers things like semantic search and recommendation. The faiss-gpu package adds NVIDIA GPU acceleration on top of the regular CPU build, which speeds up search and clustering on large datasets. The library ships in three flavors you will see named: a CPU-only package, a GPU package that includes both CPU and GPU code, and a newer GPU build that uses NVIDIA’s cuVS backend. You only need one. The fastest fix: pip on Linux with CUDA 12 If you are on Linux with a 64-bit Intel or AMD chip, a recent NVIDIA driver, and CUDA 12, the direct install now works: pip install faiss-gpu Run this inside a clean virtual environment if you can, so it does not clash with other packages. Your Python should be 3.10 or newer. Source: raspberrytips If that still fails, install a CUDA-specific wheel instead. These are built to match your CUDA version and pull the CUDA pieces in for you, so you do not need a full local CUDA install: # For CUDA 12.x pip install faiss-gpu-cu12 # For CUDA 11.x pip install faiss-gpu-cu11 Pick the one that matches your CUDA major version. There is one hardware limit worth knowing: these wheels support NVIDIA GPUs with Compute Capability 7.0 through 8.9, which covers the Volta, Turing, Ampere, and Ada Lovelace generations. If you have a much older or a brand-new architecture outside that range, the wheel may not run, and you would need to build from source using the official Faiss installation guide. One environment, one CUDA version. If you also install PyTorch or another GPU library in the same environment, they all need to link to the same CUDA version, or you will hit runtime crashes that look like install problems. Installing with conda Conda is the route Meta documents as official, and it handles the CUDA pieces for you. This is often the smoothest option, especially if your driver and toolkit versions are a moving target. # GPU version (includes CPU too) conda install -c pytorch -c nvidia -c conda-forge faiss-gpu=1.14.3 The -c flags add the channels conda needs: pytorch for Faiss itself, nvidia for CUDA, and conda-forge for up-to-date supporting libraries. Leave them in, or conda may fail to find a working combination. If you want the newer cuVS-backed build, which uses NVIDIA’s own GPU algorithms for some index types, the command adds one more channel and package name: conda install -c pytorch -c nvidia -c rapidsai -c conda-forge libnvjitlink faiss-gpu-cuvs=1.14.3 What to do on Windows There is no native Windows build of faiss-gpu. Trying to pip or conda install it on plain Windows will keep failing, and that is expected, not something you can flag away. You have two realistic choices: Use WSL2. Windows Subsystem for Linux lets you run a real Linux environment inside Windows, with GPU passthrough to your NVIDIA card. Install a Linux distribution through WSL2, set up the NVIDIA driver for WSL, then follow the Linux pip or conda steps above. This is the cleanest way to get GPU Faiss on a Windows machine. Use faiss-cpu instead. If you do not strictly need the GPU, the CPU package installs natively on Windows in one line and works fine for small and medium datasets. On a Mac, or no NVIDIA GPU? Use faiss-cpu Faiss GPU needs an NVIDIA card and CUDA, which rules out Apple Silicon and Intel Macs, and any PC without an NVIDIA GPU. The good news is the CPU package installs everywhere with no special setup: Source: arstechnica pip install faiss-cpu The Python interface is identical. You import it the same way (import faiss), and your code does not change. For datasets up to a few million vectors, the CPU build is usually quick enough that you may not miss the GPU at all. You can read more on the faiss-cpu project page. Check your CUDA and GPU first Before installing the GPU build, confirm your machine can actually run it. Two quick commands tell you most of what you need. See your NVIDIA driver and the CUDA version it supports: nvidia-smi The top-right of the output shows a CUDA version. That is the highest CUDA your driver supports, which tells you whether to reach for the cu11 or cu12 wheel. If this command is not found, you do not have a working NVIDIA driver, and that is the first thing to fix. Check your Python version too, since the wheels need 3.10 or newer: python –version Which package should you install? Here is the short version, by situation: Your setupInstall thisCommandLinux + NVIDIA GPU + CUDA 12faiss-gpu or faiss-gpu-cu12pip install faiss-gpu-cu12Linux + NVIDIA GPU + CUDA 11faiss-gpu-cu11pip install faiss-gpu-cu11Prefer conda (any CUDA)faiss-gpu via condaconda install … faiss-gpuWindows + NVIDIA GPUfaiss-gpu inside WSL2Set up WSL2, then pip/condaMac, or no NVIDIA GPUfaiss-cpupip install faiss-cpu Verify the install works Once it installs without errors, run a tiny script to confirm Faiss imports and, for the GPU build, that it sees your card: import faiss import numpy as np print(“GPUs visible to Faiss:”, faiss.get_num_gpus()) # build a small index and search it d = 64 index = faiss.IndexFlatL2(d) index.add(np.random.random((1000, d)).astype(‘float32’)) D, I = index.search(np.random.random((5, d)).astype(‘float32’), 4) print(“Search returned shape:”, I.shape) Source: rog.asus If get_num_gpus() returns a number above zero, the GPU build is wired up correctly. If it returns 0 but the import worked, Faiss is installed but cannot see your GPU, which usually points back to a driver or CUDA mismatch rather than the package itself. Frequently asked questions Is faiss-gpu available on Windows? Not natively. There is no Windows wheel for the GPU build. To get GPU Faiss on Windows, run it inside WSL2 with NVIDIA GPU support, or install faiss-cpu, which works on Windows with no extra setup. Why does pip install faiss-gpu==1.7.2 still fail? That older release was published through conda, not pip, so pip cannot find a matching file. Drop the version pin and install the current package, or use conda if you specifically need an older build. What is the difference between faiss-gpu, faiss-gpu-cu11, and faiss-gpu-cu12? They are the same library built for different CUDA versions. Use cu11 for CUDA 11 and cu12 for CUDA 12. The cu-suffixed wheels pull the CUDA pieces in for you, so you do not need a full local CUDA install. Do I lose much by using faiss-cpu instead? For datasets up to a few million vectors, often no. The CPU build uses the same Python interface and is fast enough for most projects. The GPU pays off mainly on very large datasets or heavy clustering workloads. How do I know which CUDA version I have? Run nvidia-smi and look at the CUDA version in the top-right of the output. That is the highest CUDA your driver supports, which tells you whether to install the cu11 or cu12 wheel. Conclusion The error simply means pip has no faiss-gpu file that fits your system. On Linux with an NVIDIA GPU and CUDA 12, run pip install faiss-gpu or the matching cu12 wheel. Prefer conda if your CUDA setup is fiddly. On Windows, use WSL2, and on a Mac or any machine without an NVIDIA GPU, install faiss-cpu instead. A good result is a clean import and, for GPU, a non-zero GPU count from your test script. Recommended Articles: Satisfactory GPU Crash Dump Triggered: How to Fix It How to Fix System Is Out of GPU Memory in Blender How to Fix the GPU Configuration Warning in DaVinci Resolve AMD Ryzen Z2 Extreme GPU Equivalent: What Its Graphics Really Match AMD FreeSync Premium with NVIDIA GPU: Complete Compatibility, Setup, and Performance Guide Post navigation Why Your New GPU Slowed Down Your Internet (and How to Fix It) How to Fix the GPU Configuration Warning in DaVinci Resolve