@@ -12,8 +12,8 @@ enum Mode
12
12
rStochastic
13
13
};
14
14
15
- #define CHECK_CONTIGUOUS (x ) AT_CHECK (x.is_contiguous(), #x " must be contiguous" )
16
- #define CHECK_CPU (x ) AT_CHECK (!x.type() .is_cuda(), #x " must be a CPU tensor" )
15
+ #define CHECK_CONTIGUOUS (x ) TORCH_CHECK (x.is_contiguous(), #x " must be contiguous" )
16
+ #define CHECK_CPU (x ) TORCH_CHECK (!x.is_cuda(), #x " must be a CPU tensor" )
17
17
#define CHECK_INPUT (x ) \
18
18
CHECK_CPU (x); \
19
19
CHECK_CONTIGUOUS (x);
@@ -63,12 +63,12 @@ std::tuple<Tensor, Tensor> fixed_point_quantize_stochastic_mask(Tensor a, int wl
63
63
{
64
64
CHECK_INPUT (a);
65
65
auto r = rand_like (a);
66
- auto a_array = a.data <float >();
67
- auto r_array = r.data <float >();
66
+ auto a_array = a.data_ptr <float >();
67
+ auto r_array = r.data_ptr <float >();
68
68
auto o = zeros_like (a);
69
- auto o_array = o.data <float >();
69
+ auto o_array = o.data_ptr <float >();
70
70
auto m = zeros_like (a, torch::CPU (kByte ));
71
- auto m_array = m.data <uint8_t >();
71
+ auto m_array = m.data_ptr <uint8_t >();
72
72
int64_t size = a.numel ();
73
73
int sigma = -fl;
74
74
float t_min, t_max;
@@ -84,11 +84,11 @@ std::tuple<Tensor, Tensor> fixed_point_quantize_stochastic_mask(Tensor a, int wl
84
84
std::tuple<Tensor, Tensor> fixed_point_quantize_nearest_mask (Tensor a, int wl, int fl, bool symmetric)
85
85
{
86
86
CHECK_INPUT (a);
87
- auto a_array = a.data <float >();
87
+ auto a_array = a.data_ptr <float >();
88
88
auto o = zeros_like (a);
89
- auto o_array = o.data <float >();
89
+ auto o_array = o.data_ptr <float >();
90
90
auto m = zeros_like (a, torch::CPU (kByte ));
91
- auto m_array = m.data <uint8_t >();
91
+ auto m_array = m.data_ptr <uint8_t >();
92
92
int64_t size = a.numel ();
93
93
int sigma = -fl;
94
94
float t_min, t_max;
@@ -105,10 +105,10 @@ Tensor fixed_point_quantize_stochastic(Tensor a, int wl, int fl, bool clamp, boo
105
105
{
106
106
CHECK_INPUT (a);
107
107
auto r = rand_like (a);
108
- auto a_array = a.data <float >();
109
- auto r_array = r.data <float >();
108
+ auto a_array = a.data_ptr <float >();
109
+ auto r_array = r.data_ptr <float >();
110
110
Tensor o = zeros_like (a);
111
- auto o_array = o.data <float >();
111
+ auto o_array = o.data_ptr <float >();
112
112
int64_t size = a.numel ();
113
113
int sigma = -fl;
114
114
float t_min, t_max;
@@ -127,9 +127,9 @@ Tensor fixed_point_quantize_stochastic(Tensor a, int wl, int fl, bool clamp, boo
127
127
Tensor fixed_point_quantize_nearest (Tensor a, int wl, int fl, bool clamp, bool symmetric)
128
128
{
129
129
CHECK_INPUT (a);
130
- auto a_array = a.data <float >();
130
+ auto a_array = a.data_ptr <float >();
131
131
Tensor o = zeros_like (a);
132
- auto o_array = o.data <float >();
132
+ auto o_array = o.data_ptr <float >();
133
133
int64_t size = a.numel ();
134
134
int sigma = -fl;
135
135
float t_min, t_max;
@@ -217,29 +217,29 @@ Tensor get_max_entry(Tensor a, int dim)
217
217
Tensor block_quantize_nearest (Tensor a, int wl, int dim)
218
218
{
219
219
CHECK_INPUT (a);
220
- auto a_array = a.data <float >();
220
+ auto a_array = a.data_ptr <float >();
221
221
Tensor o = zeros_like (a);
222
- auto o_array = o.data <float >();
222
+ auto o_array = o.data_ptr <float >();
223
223
int64_t size = a.numel ();
224
224
225
225
// get maximum number and base
226
226
Tensor max_entry = get_max_entry (a, dim);
227
- auto max_elem = max_entry.data <float >();
227
+ auto max_elem = max_entry.data_ptr <float >();
228
228
block_quantize_helper (a_array, o_array, max_elem, wl, size, rNearest);
229
229
return o;
230
230
}
231
231
232
232
Tensor block_quantize_stochastic (Tensor a, int wl, int dim)
233
233
{
234
234
CHECK_INPUT (a);
235
- auto a_array = a.data <float >();
235
+ auto a_array = a.data_ptr <float >();
236
236
Tensor o = zeros_like (a);
237
- auto o_array = o.data <float >();
237
+ auto o_array = o.data_ptr <float >();
238
238
int64_t size = a.numel ();
239
239
240
240
// get maximum number and base
241
241
Tensor max_entry = get_max_entry (a, dim);
242
- auto max_elem = max_entry.data <float >();
242
+ auto max_elem = max_entry.data_ptr <float >();
243
243
// std::srand(time(0));
244
244
block_quantize_helper (a_array, o_array, max_elem, wl, size, rStochastic);
245
245
return o;
@@ -248,9 +248,9 @@ Tensor block_quantize_stochastic(Tensor a, int wl, int dim)
248
248
Tensor float_quantize_stochastic (Tensor a, int man_bits, int exp_bits)
249
249
{
250
250
// use external random number right now
251
- auto a_array = a.data <float >();
251
+ auto a_array = a.data_ptr <float >();
252
252
auto o = zeros_like (a);
253
- auto o_array = o.data <float >();
253
+ auto o_array = o.data_ptr <float >();
254
254
int size = a.numel ();
255
255
256
256
for (int64_t i = 0 ; i < size; i++)
@@ -268,9 +268,9 @@ Tensor float_quantize_stochastic(Tensor a, int man_bits, int exp_bits)
268
268
269
269
Tensor float_quantize_nearest (Tensor a, int man_bits, int exp_bits)
270
270
{
271
- auto a_array = a.data <float >();
271
+ auto a_array = a.data_ptr <float >();
272
272
auto o = zeros_like (a);
273
- auto o_array = o.data <float >();
273
+ auto o_array = o.data_ptr <float >();
274
274
int size = a.numel ();
275
275
276
276
for (int64_t i = 0 ; i < size; i++)
0 commit comments