Mark Gottscho
|
49044d5aff
|
Minor build script update on Windows to match Linux version.
|
2015-02-04 12:44:53 -08:00 |
Mark Gottscho
|
c82b155280
|
Quick fix so that binaries will be xmem on GNU/Linux and xmem.exe on Windows. Also, README now shows the latest usage info.
|
2015-02-04 12:36:29 -08:00 |
Mark Gottscho
|
f2c9510cc6
|
Changed sequential and random access modes for throughput benchmarks to be run-time options. Also changed some ways the configuration is parsed from the user, and made some printouts mandatory regardless of the verbosity option.
|
2015-02-04 12:29:51 -08:00 |
Mark Gottscho
|
449a959cc4
|
Build datetime for Windows. However, to make this compile faster need to make cl.exe build each file at a time, otherwise every incremental build starts from scratch.
|
2015-02-03 17:57:56 -08:00 |
Mark Gottscho
|
4a80ccfa80
|
Added feature to insert actual build datetime into each Linux build. Have to do for Windows as well.
|
2015-02-03 16:19:03 -08:00 |
Mark Gottscho
|
ee6c6b61e8
|
Added runtime verbosity operation instead of compile-time. Also changed BenchmarkManager to not use a laundry list of constructor arguments but instead use the Configurator object.
|
2015-02-03 00:55:12 -08:00 |
Bikash Sharma
|
34666d0b77
|
Merge pull request #5 from nanocad-lab/master
Converted a bunch of compile-time options to run-time options
|
2015-02-02 12:39:27 -08:00 |
Mark Gottscho
|
9ac41c9796
|
Improved input argument error handling to be more sane.
|
2015-01-29 19:24:54 -08:00 |
Mark Gottscho
|
37fa69a93c
|
Made chunk sizes a run-time option rather than a compile-time option. However, I have not yet instituted checks for CPU incompatibility. Right now if you run this on a machine that does not support AVX, it may crash with illegal instructions.
|
2015-01-29 18:51:12 -08:00 |
Mark Gottscho
|
0f60c32b97
|
Changed a Windows compiler flag to supress warning C4101. Also bugfix in common.h that I had recently introduced with some preprocessor macros. Finally, disabled USE_LARGE_PAGES by default to make Windows/Linux fair.
|
2015-01-28 19:12:59 -08:00 |
Mark Gottscho
|
9693c2bd8b
|
Changed NUMA option from compile-time to run-time.
|
2015-01-28 15:53:15 -08:00 |
Mark Gottscho
|
7c19b2281e
|
Changed multithreading from compile-time option to a new runtime option, where the user can specify the number of worker threads to use.
|
2015-01-28 14:39:52 -08:00 |
Mark Gottscho
|
35d90dc242
|
Segfault fix on reverse stride 16 sequential write word 256.
|
2015-01-28 12:03:28 -08:00 |
Bikash Sharma
|
57b79ddbdb
|
Merge pull request #4 from nanocad-lab/master
Updated to 1.2.02
|
2015-01-28 09:17:18 -08:00 |
Mark Gottscho
|
bf84406fe0
|
Minor fixes to prevent Windows builds from using strides greater than 1 for now. Also get segfaults on GNU/Linux for stride -16 256-bit words.
|
2015-01-27 20:44:03 -08:00 |
Mark Gottscho
|
dd0abeee09
|
Minor update, added build date and time to welcome message when running X-Mem.
|
2015-01-27 20:15:02 -08:00 |
Mark Gottscho
|
800af3ff81
|
Added Stride16 versions of dummy loops. This is a major revision, v1.2.
|
2015-01-27 19:50:34 -08:00 |
Mark Gottscho
|
e3fb652ca0
|
Implemented Stride16 throughput benchmarks for GNU/Linux.
|
2015-01-27 19:41:26 -08:00 |
Mark Gottscho
|
9c8da6e5c9
|
Stride8 throughput benchmarks implemented on GNU/Linux.
|
2015-01-27 19:19:32 -08:00 |
Mark Gottscho
|
7fadd7d0ef
|
Implemented dummy loops for benchmark kernels on Stride4. This was supposed to have been done in the last commit.
|
2015-01-27 19:07:17 -08:00 |
Mark Gottscho
|
02f9b08450
|
Implemented stride-4 throughput benchmarks for GNU/Linux. Also squashed some annoying gcc warnings regarding some of the benchmark kernels. It should now build on GNU/Linux without any warnings or errors.
|
2015-01-27 18:56:16 -08:00 |
Mark Gottscho
|
ecad967746
|
Couple bugfixes in unroll length for Linux throughput benchmarks. Also implemented sequential and stride-2 throughput benchmarks for 128-bit words on Linux.
|
2015-01-27 15:40:04 -08:00 |
Bikash Sharma
|
6cec96e52a
|
Merge pull request #3 from nanocad-lab/master
Version 1.1: Completed (potentially buggy) Linux port
|
2015-01-26 21:14:42 -08:00 |
Mark Gottscho
|
9b0f9e10d6
|
This is a major revision 1.1. X-Mem now builds and runs on both Windows and GNU/Linux. The results I am getting on Linux for 256-bit sequential multithreaded reads is suspect, however.
|
2015-01-23 17:58:24 -08:00 |
Mark Gottscho
|
17cbe6db1e
|
Disabled USE_LARGE_PAGES support for GNU/Linux for now, for two reasons. First, I use libhugetlbfs since Linux does not have very good support for large pages, but this library does not expose NUMA-aware functionality. Second, I get segmentation faults if I try to use ThroughputBenchmark on anything larger than a single large page. I also removed g++ flags for AVX2 instruction set, which was causing the code not to run on my Ivy Bridge machine (obviously, since AVX2 is Haswell and newer only). Fortunately, I am not needing any AVX2 instructions to do 256-bit memory operations so this is OK for now.
|
2015-01-23 14:29:51 -08:00 |
Mark Gottscho
|
7e134487fc
|
Bugfix in Runnable destructor on Linux.
|
2015-01-23 11:15:04 -08:00 |
Mark Gottscho
|
8d9e816030
|
Implemented large/huge pages for GNU/Linux build. However, it appears that libhugetlbfs and hugetlbfs in general is not NUMA-aware...so currently the benchmark memory allocations with USE_LARGE_PAGES on Linux are not guaranteed to use NUMA correctly. This is not an issue on single-node systems, however. Also fixed a bug with converting CPU numbers in a NUMA node using libnuma that was causing segmentation faults.
|
2015-01-23 11:05:44 -08:00 |
Mark Gottscho
|
300075dc4c
|
Finished implementing Linux system configuration part, where we learn number of CPUs, NUMA configuration, etc. Also started adding support for large pages on Linux via libhugetlbfs, but this does not work yet.
|
2015-01-22 19:37:45 -08:00 |
Bikash Sharma
|
22a7a7a111
|
Merge pull request #2 from nanocad-lab/master
Updates over the weekend: continued Linux port
|
2015-01-19 10:53:50 -08:00 |
Mark Gottscho
|
f95ccdc897
|
Bugfixes for Windows version.
|
2015-01-18 19:12:34 -08:00 |
Mark Gottscho
|
a4d6244f74
|
Merging Windows implementation of query_sys_config() into rest of code. Also changed all references to Unix builds to GNU/Linux only for now.
|
2015-01-18 18:20:43 -08:00 |
Mark Gottscho
|
9fadc0ab16
|
Porting init process of querying system information to Linux. Actually it is quite broken and band-aid status right now. Also, on Linux, ThroughputBenchmark segfaults and LatencyBenchmark crashes with an illegal instruction.
|
2015-01-17 16:27:00 -08:00 |
Mark Gottscho
|
d2a4c5f437
|
Merge branch 'master' of dfm.ee.ucla.edu:/w/nanocad.00/master_projects/X-Mem
|
2015-01-17 16:22:25 -08:00 |
Mark Gottscho
|
aaf39cbd5b
|
Porting the init sequence for querying system information to Linux. Right now it is in a rough and bandaid shape. Also the program segfaults in ThroughputBenchmark and crashes on illegal instruction in LatencyBenchmark for Linux.
|
2015-01-17 16:21:41 -08:00 |
Mark Gottscho
|
377a73ed61
|
Squashed a small Windows compile-time bug introduced by Unix porting efforts.
|
2015-01-16 18:35:35 -08:00 |
Mark Gottscho
|
439f11eec8
|
Finished superficially porting X-Mem to Linux. It compiles and links correctly now but segfaults when you attempt to run a benchmark. There are definitely some things that I avoid porting, such as querying generic system information in the beginning. I also will need to disassemble compiled benchmarks and see what happens.
|
2015-01-16 18:21:13 -08:00 |
Mark Gottscho
|
00d6ec64a4
|
Several changes. (1) Removed all Visual Studio project files. The build on Windows and Unix is now completely managed with SCons. (2) Fixed Unix documentation build script. (3) Continued porting of source code to Unix.
|
2015-01-16 15:52:28 -08:00 |
Bikash Sharma
|
a6cd73a18a
|
Merge pull request #1 from nanocad-lab/master
Mark's updates since original MS GitHub release
|
2015-01-15 08:41:49 -08:00 |
Mark Gottscho
|
c990a2f752
|
Renamed Visual Studio project filters as they will be deleted in the next major revision. We should no longer require them, and in the future the SCons build script on Windows should automatically generate Visual Studio project files if needed.
|
2015-01-14 11:35:55 -08:00 |
Mark Gottscho
|
bbab32f26f
|
Updates to README to better describe prerequisites and build process.
|
2015-01-14 11:32:55 -08:00 |
Mark Gottscho
|
9763730dad
|
Verified correct build on Windows
|
2015-01-10 18:48:25 -08:00 |
Mark Gottscho
|
1be46bf8a0
|
Further porting work to Unix. Unfortunately, it does not look like NUMA+large pages will be possible on Linux.. need to investigate this further. If this is in fact the case, Linux performance may suffer compared to Windows.
|
2015-01-10 18:46:17 -08:00 |
Mark Gottscho
|
508e55ce01
|
Windows build fixes
|
2015-01-10 17:51:05 -08:00 |
Mark Gottscho
|
da5e9bb613
|
Continued updates to make a Unix port. Untested still, have to make sure it still works with Windows.
|
2015-01-10 16:57:29 -08:00 |
Mark Gottscho
|
c2e76e84df
|
Fixed line endings to be consistently Unix-style throughout X-Mem project.
|
2015-01-10 13:25:34 -08:00 |
Mark Gottscho
|
d0c13277c8
|
Fixes to bugs introduced by untested Unix port of Thread class, so that things build and run correctly on Windows still
|
2015-01-10 13:17:56 -08:00 |
Mark Gottscho
|
146046bf33
|
Ported Thread class to Unix, but untested. At least it compiles..
|
2015-01-10 12:58:06 -08:00 |
Mark Gottscho
|
a950ddcaf0
|
Fixes
|
2015-01-10 00:30:57 -08:00 |
Mark Gottscho
|
a6a8d462eb
|
Added Unix port to some basic features in Benchmark.h, Runnable.h, and common.h. Untested beyond fixing compiler errors.
|
2015-01-09 23:47:40 -08:00 |
Mark Gottscho
|
7b1c4ef08c
|
Fixed line endings to Unix-style
|
2015-01-09 22:58:31 -08:00 |