smsd-cuda
smsd-cuda provides optional NVIDIA CUDA screening on Linux x86_64 and needs
the same version of smsd:
python -m pip install "smsd==8.0.3" "smsd-cuda==8.0.3"
The GPU computes integer overlaps; scores use the CPU expressions and hits keep target order. Matching runs on the CPU. The backend keeps prepared corpus fingerprints on the device for reuse. ECFP4 Tanimoto screening and the atom-count MCS similarity bound are distinct operations.
import smsd
corpus = smsd.TargetCorpus.from_smiles(["CCO", "CCN", "CCC"])
print(smsd.gpu_device_info())
corpus.prewarm(num_threads=1)
assert corpus.screen_many(["CCO", "CCN"], 1.0, num_threads=1) == [[0], [1]]
assert corpus.screen_targets_many(["CCO", "CCN"], 1.0, num_threads=1) == [[0], [1]]
smsd finds the package at run time. Automatic ECFP4 screening uses CUDA on a
Tesla T4 with compute capability 7.5 when the prepared corpus has at least
100,000 targets. Smaller corpora and other devices use the CPU. Label-bound
and substructure candidate screening use the CPU. gpu_is_available() and
gpu_device_info() report backend availability, not whether a call used the
device. Missing devices, allocation failure and device loss use the CPU.
SMSD_DISABLE_GPU=1 disables the GPU at run time.
Corpus substructure searches can reject impossible molecule candidates with a conservative element-path screen before CPU matching. SMARTS queries, untyped queries and finite node limits bypass this screen. Target results keep their original slots, atom numbering and search status.
Use screen_targets with an explicit threshold before MCS when an atom-count
Tanimoto bound is wanted; this bound does not represent bond Tanimoto or weighted
MCS scores. ECFP similarity is not a substructure test.
Requirements
See the
supported-platforms table
for Python versions, operating-system requirements and GPU Docker support.
The nvidia-cuda-runtime-cu12 dependency supplies the CUDA runtime; the host
needs a compatible NVIDIA driver. The CUDA toolkit is not needed to install
the wheel.
Building
Build from an SMSD checkout on Linux x86_64 with the CUDA 12.8 toolkit:
python -m pip wheel packaging/smsd-cuda --no-deps -w dist
Its version must equal the smsd version of the checkout; the build stops
otherwise. Building requires nvcc; the smsd package itself never needs CUDA.
Licence
Apache License 2.0; see LICENSE and NOTICE. The package bundles no NVIDIA library.
Metadata
Release files for smsd-cuda 8.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| smsd_cuda-8.0.3-py3-none-manylinux_2_34_x86_64.whl | Python 3 | none | Linux glibc 2.34+ x86-64 | Details for smsd_cuda-8.0.3-py3-none-manylinux_2_34_x86_64.whl |
Release files / smsd_cuda-8.0.3-py3-none-manylinux_2_34_x86_64.whl
| Download URL | smsd_cuda-8.0.3-py3-none-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 172.0 kB |
| Tags | Linux glibc 2.34+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
3679c901f75e649655217b32414adb7a1759b18d02ef2340f535d1e9fae15e2d
|
|
BLAKE2b-256 checksum How to use checksums |
ee71ab6206316aef03147ac7cd26f2b1b79c990aeabd281d5453ced7838bdad5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.
Transparency logSecurity for smsd-cuda 8.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 1 file in this release has been uploaded with provenance metadata.
Attestation for smsd_cuda-8.0.3-py3-none-manylinux_2_34_x86_64.whl
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.