Skip to main content

A PyCuda Covariance Matrix Parallel Implementation

Project description

PyCUDACov - A PyCuda Covariance Matrix Parallel Implementation

MIT License

Usage and Installation

Requires CUDA enviroment.

Installation:

$ pip install pycudacov

Basic Usage

from sklearn.datasets import make_blobs
from sklearn.preprocessing import StandardScaler
from pandas import DataFrame
import numpy as np
from pycudacov import get_cov

# Generate test dataset
rows, cols = 2048, 2048 # samples, features
X, y = make_blobs(n_samples = rows, centers = 2, n_features = cols)
X_std = StandardScaler().fit_transform(X) # Optional
df = DataFrame(X_std)
df = df.astype(np.float32)


blocks = 512	# Size of kernel blocks
threads = 256	# Size of threads per block

# Call to PyCUDA Kernel, return the cov. matrix and
# GPU execution time in milliseconds
covariance_matrix, gpu_exec_time = get_cov(df.values, blocks, threads)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycudacov-0.1.2.tar.gz (3.4 kB view hashes)

Uploaded Source

Built Distribution

pycudacov-0.1.2-py3-none-any.whl (6.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page