Scalar

View as Markdown

Source header: cuvs/preprocessing/quantize/scalar.hpp

Scalar quantizer utilities

preprocessing::quantize::scalar::params

quantizer parameters.

1struct params { ... };

Fields

NameTypeDescription
quantilefloatSpecifies how many outliers at top & bottom will be ignored. Needs to be within range of (0, 1].

preprocessing::quantize::scalar::quantizer

Defines and stores scalar for quantisation upon training

The quantization is performed by a linear mapping of an interval in the float data type to the full range of the quantized int type.

1template <typename T>
2struct quantizer { ... };

Fields

NameTypeDescription
min_TMinimum value of the quantization range.
max_TMaximum value of the quantization range.

preprocessing::quantize::scalar::train

Initializes a scalar quantizer to be used later for quantizing the dataset.

1quantizer<double> train(raft::resources const& res,
2const params params,
3raft::device_matrix_view<const double, int64_t> dataset);

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
paramsinconst paramsconfigure scalar quantizer, e.g. quantile
datasetinraft::device_matrix_view<const double, int64_t>a row-major matrix view on device

Returns

quantizer<double>

Additional overload: preprocessing::quantize::scalar::train

Initializes a scalar quantizer to be used later for quantizing the dataset.

1quantizer<double> train(raft::resources const& res,
2const params params,
3raft::host_matrix_view<const double, int64_t> dataset);

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
paramsinconst paramsconfigure scalar quantizer, e.g. quantile
datasetinraft::host_matrix_view<const double, int64_t>a row-major matrix view on host

Returns

quantizer<double>

preprocessing::quantize::scalar::transform

Applies quantization transform to given dataset

1void transform(raft::resources const& res,
2const quantizer<double>& quantizer,
3raft::device_matrix_view<const double, int64_t> dataset,
4raft::device_matrix_view<int8_t, int64_t> out);

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
quantizerinconst quantizer<double>&a scalar quantizer
datasetinraft::device_matrix_view<const double, int64_t>a row-major matrix view on device
outoutraft::device_matrix_view<int8_t, int64_t>a row-major matrix view on device

Returns

void

Additional overload: preprocessing::quantize::scalar::transform

Applies quantization transform to given dataset

1void transform(raft::resources const& res,
2const quantizer<double>& quantizer,
3raft::host_matrix_view<const double, int64_t> dataset,
4raft::host_matrix_view<int8_t, int64_t> out);

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
quantizerinconst quantizer<double>&a scalar quantizer
datasetinraft::host_matrix_view<const double, int64_t>a row-major matrix view on host
outoutraft::host_matrix_view<int8_t, int64_t>a row-major matrix view on host

Returns

void

preprocessing::quantize::scalar::inverse_transform

Perform inverse quantization step on previously quantized dataset

1void inverse_transform(raft::resources const& res,
2const quantizer<double>& quantizer,
3raft::device_matrix_view<const int8_t, int64_t> dataset,
4raft::device_matrix_view<double, int64_t> out);

Note that depending on the chosen data types train dataset the conversion is not lossless.

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
quantizerinconst quantizer<double>&a scalar quantizer
datasetinraft::device_matrix_view<const int8_t, int64_t>a row-major matrix view on device
outoutraft::device_matrix_view<double, int64_t>a row-major matrix view on device

Returns

void

Additional overload: preprocessing::quantize::scalar::inverse_transform

Perform inverse quantization step on previously quantized dataset

1void inverse_transform(raft::resources const& res,
2const quantizer<double>& quantizer,
3raft::host_matrix_view<const int8_t, int64_t> dataset,
4raft::host_matrix_view<double, int64_t> out);

Note that depending on the chosen data types train dataset the conversion is not lossless.

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
quantizerinconst quantizer<double>&a scalar quantizer
datasetinraft::host_matrix_view<const int8_t, int64_t>a row-major matrix view on host
outoutraft::host_matrix_view<double, int64_t>a row-major matrix view on host

Returns

void

Additional overload: preprocessing::quantize::scalar::train

Initializes a scalar quantizer to be used later for quantizing the dataset.

1quantizer<float> train(raft::resources const& res,
2const params params,
3raft::device_matrix_view<const float, int64_t> dataset);

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
paramsinconst paramsconfigure scalar quantizer, e.g. quantile
datasetinraft::device_matrix_view<const float, int64_t>a row-major matrix view on device

Returns

quantizer<float>

Additional overload: preprocessing::quantize::scalar::train

Initializes a scalar quantizer to be used later for quantizing the dataset.

1quantizer<float> train(raft::resources const& res,
2const params params,
3raft::host_matrix_view<const float, int64_t> dataset);

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
paramsinconst paramsconfigure scalar quantizer, e.g. quantile
datasetinraft::host_matrix_view<const float, int64_t>a row-major matrix view on host

Returns

quantizer<float>

Additional overload: preprocessing::quantize::scalar::transform

Applies quantization transform to given dataset

1void transform(raft::resources const& res,
2const quantizer<float>& quantizer,
3raft::device_matrix_view<const float, int64_t> dataset,
4raft::device_matrix_view<int8_t, int64_t> out);

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
quantizerinconst quantizer<float>&a scalar quantizer
datasetinraft::device_matrix_view<const float, int64_t>a row-major matrix view on device
outoutraft::device_matrix_view<int8_t, int64_t>a row-major matrix view on device

Returns

void

Additional overload: preprocessing::quantize::scalar::transform

Applies quantization transform to given dataset

1void transform(raft::resources const& res,
2const quantizer<float>& quantizer,
3raft::host_matrix_view<const float, int64_t> dataset,
4raft::host_matrix_view<int8_t, int64_t> out);

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
quantizerinconst quantizer<float>&a scalar quantizer
datasetinraft::host_matrix_view<const float, int64_t>a row-major matrix view on host
outoutraft::host_matrix_view<int8_t, int64_t>a row-major matrix view on host

Returns

void

Additional overload: preprocessing::quantize::scalar::inverse_transform

Perform inverse quantization step on previously quantized dataset

1void inverse_transform(raft::resources const& res,
2const quantizer<float>& quantizer,
3raft::device_matrix_view<const int8_t, int64_t> dataset,
4raft::device_matrix_view<float, int64_t> out);

Note that depending on the chosen data types train dataset the conversion is not lossless.

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
quantizerinconst quantizer<float>&a scalar quantizer
datasetinraft::device_matrix_view<const int8_t, int64_t>a row-major matrix view on device
outoutraft::device_matrix_view<float, int64_t>a row-major matrix view on device

Returns

void

Additional overload: preprocessing::quantize::scalar::inverse_transform

Perform inverse quantization step on previously quantized dataset

1void inverse_transform(raft::resources const& res,
2const quantizer<float>& quantizer,
3raft::host_matrix_view<const int8_t, int64_t> dataset,
4raft::host_matrix_view<float, int64_t> out);

Note that depending on the chosen data types train dataset the conversion is not lossless.

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
quantizerinconst quantizer<float>&a scalar quantizer
datasetinraft::host_matrix_view<const int8_t, int64_t>a row-major matrix view on host
outoutraft::host_matrix_view<float, int64_t>a row-major matrix view on host

Returns

void

Additional overload: preprocessing::quantize::scalar::train

Initializes a scalar quantizer to be used later for quantizing the dataset.

1quantizer<half> train(raft::resources const& res,
2const params params,
3raft::device_matrix_view<const half, int64_t> dataset);

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
paramsinconst paramsconfigure scalar quantizer, e.g. quantile
datasetinraft::device_matrix_view<const half, int64_t>a row-major matrix view on device

Returns

quantizer<half>

Additional overload: preprocessing::quantize::scalar::train

Initializes a scalar quantizer to be used later for quantizing the dataset.

1quantizer<half> train(raft::resources const& res,
2const params params,
3raft::host_matrix_view<const half, int64_t> dataset);

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
paramsinconst paramsconfigure scalar quantizer, e.g. quantile
datasetinraft::host_matrix_view<const half, int64_t>a row-major matrix view on host

Returns

quantizer<half>

Additional overload: preprocessing::quantize::scalar::transform

Applies quantization transform to given dataset

1void transform(raft::resources const& res,
2const quantizer<half>& quantizer,
3raft::device_matrix_view<const half, int64_t> dataset,
4raft::device_matrix_view<int8_t, int64_t> out);

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
quantizerinconst quantizer<half>&a scalar quantizer
datasetinraft::device_matrix_view<const half, int64_t>a row-major matrix view on device
outoutraft::device_matrix_view<int8_t, int64_t>a row-major matrix view on device

Returns

void

Additional overload: preprocessing::quantize::scalar::transform

Applies quantization transform to given dataset

1void transform(raft::resources const& res,
2const quantizer<half>& quantizer,
3raft::host_matrix_view<const half, int64_t> dataset,
4raft::host_matrix_view<int8_t, int64_t> out);

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
quantizerinconst quantizer<half>&a scalar quantizer
datasetinraft::host_matrix_view<const half, int64_t>a row-major matrix view on host
outoutraft::host_matrix_view<int8_t, int64_t>a row-major matrix view on host

Returns

void

Additional overload: preprocessing::quantize::scalar::inverse_transform

Perform inverse quantization step on previously quantized dataset

1void inverse_transform(raft::resources const& res,
2const quantizer<half>& quantizer,
3raft::device_matrix_view<const int8_t, int64_t> dataset,
4raft::device_matrix_view<half, int64_t> out);

Note that depending on the chosen data types train dataset the conversion is not lossless.

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
quantizerinconst quantizer<half>&a scalar quantizer
datasetinraft::device_matrix_view<const int8_t, int64_t>a row-major matrix view on device
outoutraft::device_matrix_view<half, int64_t>a row-major matrix view on device

Returns

void

Additional overload: preprocessing::quantize::scalar::inverse_transform

Perform inverse quantization step on previously quantized dataset

1void inverse_transform(raft::resources const& res,
2const quantizer<half>& quantizer,
3raft::host_matrix_view<const int8_t, int64_t> dataset,
4raft::host_matrix_view<half, int64_t> out);

Note that depending on the chosen data types train dataset the conversion is not lossless.

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
quantizerinconst quantizer<half>&a scalar quantizer
datasetinraft::host_matrix_view<const int8_t, int64_t>a row-major matrix view on host
outoutraft::host_matrix_view<half, int64_t>a row-major matrix view on host

Returns

void