A high-performance general-purpose compute library
macros.h
Go to the documentation of this file.
1/*******************************************************
2 * Copyright (c) 2014, ArrayFire
3 * All rights reserved.
4 *
5 * This file is distributed under 3-clause BSD license.
6 * The complete license agreement can be obtained at:
7 * http://arrayfire.com/licenses/BSD-3-Clause
8 ********************************************************/
9
10#pragma once
11#include <stdio.h>
12
18#ifndef AF_MSG
19#define AF_MSG(fmt,...) do { \
20 printf("%s:%d: " fmt "\n", \
21 __FILE__, __LINE__, ##__VA_ARGS__); \
22 } while (0);
23#endif
24
73#define AF_MEM_INFO(msg) do { \
74 size_t abytes = 0, abuffs = 0, lbytes = 0, lbuffs = 0; \
75 af_err err = af_device_mem_info(&abytes, &abuffs, &lbytes, &lbuffs); \
76 if(err == AF_SUCCESS) { \
77 printf("AF Memory at %s:%d: " msg "\n", __FILE__, __LINE__); \
78 printf("Allocated [ Bytes | Buffers ] = [ %ld | %ld ]\n", abytes, abuffs); \
79 printf("In Use [ Bytes | Buffers ] = [ %ld | %ld ]\n", lbytes, lbuffs); \
80 } else { \
81 fprintf(stderr, "AF Memory at %s:%d: " msg "\nAF Error %d\n", \
82 __FILE__, __LINE__, err); \
83 } \
84} while(0)