Loading...
Searching...
No Matches
1#ifndef __KERNEL_UTILS_H__
2#define __KERNEL_UTILS_H__
4#include "aie_api/aie.hpp"
9#define PROFILE_HEADER(stmt) \
11 unsigned cycle_num[2]; \
12 aie::tile tile = aie::tile::current(); \
13 cycle_num[0] = tile.cycles();
14#define PROFILE_FOOTER \
15 cycle_num[1] = tile.cycles(); \
16 printf("start = %d,end = %d,total = %d\n", cycle_num[0], cycle_num[1], cycle_num[1] - cycle_num[0]);
18#define PROFILE_HEADER2 \
19 unsigned cycle_num[2]; \
20 aie::tile tile = aie::tile::current(); \
21 cycle_num[0] = tile.cycles();
22#define PROFILE_FOOTER2(NAME, ...) \
23 cycle_num[1] = tile.cycles(); \
25 sprintf(prefix, NAME, __VA_ARGS__); \
26 printf("%s start = %d,end = %d,total = %d\n", prefix, cycle_num[0], cycle_num[1], cycle_num[1] - cycle_num[0]);
31#define PROFILE_HEADER(stmt)
34#define PROFILE_HEADER2
35#define PROFILE_FOOTER2(NAME, ...)
39template<
typename VECTYPE>
40void print_fvec(VECTYPE* vec,
int N) {
41 for (
int i = 0; i < N; i++)
42 printf(
"%f ", vec[i]);
46template<
typename VECTYPE,
typename CAST>
47void print_vec(VECTYPE* vec,
int N) {
48 for (
int i = 0; i < N; i++)
49 printf(
"%d ", (CAST) vec[i]);