/*============================================================================ bandwidth, a benchmark to estimate memory transfer bandwidth. Copyright (C) 2005-2014 by Zack T Smith. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA The author may be reached at 1@zsmith.co. *===========================================================================*/ //--------------------------------------------------------------------------- // Change log // 0.18 Grand unified version supports x86/intel64/arm, linux/win32/winmo. // 0.19 Now have 128-bit writer that goes to cache AND one that bypasses. // 0.20 Added my bmplib and graphing of output. Also added --slow option. // 0.21 Adds random testing. Min chunk size = 256 B. Allows non-2^n chunks. // 0.22 Adds register-to-register and register-to/from-stack transfers. // 0.23 Adds vector-to-vector and register-to-vector transfers, & Mac support. // 0.24 Adds network bandwidth tests from this PC to specified others. // 0.25 Made network tests bidirectional to test asymmetric networks. // 0.26 Fixes to prevent certain vector instructions being used w/AMD chips. // 0.27 Added 128-byte tests for greater precision. // 0.28 Added use of CPUID. // 0.29 Added more 128-byte tests. // 0.30 Adds cache identification for Intel CPUs in 64-bit mode. // 0.31 Adds cache identification for Intel CPUs in 32-bit mode. // 0.32 Added AVX support. // 1.0 Moved graphing logic into BMPGraphing. Added LODS support. // 1.1 Switched to larger font in graphing module. //--------------------------------------------------------------------------- #ifndef _DEFS_H #define _DEFS_H #define RELEASE "1.1" #ifndef bool typedef char bool; enum { true = 1, false = 0 }; #endif #define NETWORK_DEFAULT_PORTNUM (49000) #define NETSIZE_MIN (15) #define NETSIZE_MAX (28) #define NETWORK_CHUNK_SIZE (1<