Add BF16 code for new ggml_validate_row_data() function
This commit is contained in:
parent
2741a99791
commit
632624e9d7
1 changed files with 18 additions and 0 deletions
|
@ -12450,6 +12450,24 @@ bool ggml_validate_row_data(enum ggml_type type, const void * data, size_t nbyte
|
||||||
const size_t nb = nbytes/ggml_type_size(type);
|
const size_t nb = nbytes/ggml_type_size(type);
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
|
case GGML_TYPE_BF16:
|
||||||
|
{
|
||||||
|
int nans = 0;
|
||||||
|
int infs = 0;
|
||||||
|
const unsigned short * f = (const unsigned short *) data;
|
||||||
|
for (size_t i = 0; i < nb; ++i) {
|
||||||
|
nans += (f[i] & 0x7fff) > 0x7f80;
|
||||||
|
infs += (f[i] & 0x7fff) == 0x7f80;
|
||||||
|
}
|
||||||
|
if (nans) {
|
||||||
|
fprintf(stderr, "%s: found %d NaNs in row of %zu BF16 values\n", __func__, nans, nb);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (infs) {
|
||||||
|
fprintf(stderr, "%s: found %d infinities in row of %zu BF16 values\n", __func__, infs, nb);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} break;
|
||||||
case GGML_TYPE_F16:
|
case GGML_TYPE_F16:
|
||||||
{
|
{
|
||||||
const ggml_fp16_t * f = (const ggml_fp16_t *) data;
|
const ggml_fp16_t * f = (const ggml_fp16_t *) data;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue