import numpy as np import os def generate_fp_vector(cases, filename, dtype=np.float16): dsize = 0 if dtype == np.float16: dsize = 2 elif dtype == np.float32: dsize = 4 else: raise ValueError(f"Unknown dtype {dtype}") x = np.frombuffer(os.urandom(cases * dsize), dtype=dtype) y = np.frombuffer(os.urandom(cases * dsize), dtype=dtype) sum = x + y mul = x * y x = x.tobytes() y = y.tobytes() sum = sum.tobytes() mul = mul.tobytes() with open(filename, 'w') as f: for i in range(cases): f.write(' '.join([ x[i*dsize:i*dsize+dsize].hex(), y[i*dsize:i*dsize+dsize].hex(), sum[i*dsize:i*dsize+dsize].hex(), mul[i*dsize:i*dsize+dsize].hex(), ]) + '\n') if __name__ == '__main__': generate_fp_vector(30, 'fp16_test.hex', dtype=np.float16)