Skip to content
Permalink
Branch: master
Commits on Mar 10, 2014
  1. chLib/ch_conio: make function declarations static

    tycho committed Mar 10, 2014
    Otherwise multiple inclusions will result in symbol collisions.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  2. nbody: ensure implementations include their respective headers

    tycho committed Mar 10, 2014
    If we don't include these headers, then we won't notice any forward declaration
    mismatches.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  3. nbody: use more robust warning flags in GNUmakefile

    tycho committed Mar 10, 2014
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  4. nbody.cu: eliminate a dead 'break' after 'abort'

    tycho committed Mar 10, 2014
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  5. nbody: use int iterator when dealing with g_numGPUs

    tycho committed Mar 10, 2014
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  6. chTimer: remove superfluous semicolon

    tycho committed Mar 10, 2014
    With -pedantic, GCC complains about it. Whatever.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  7. nbody: move some nbody.cu-specific bits out of nbody.h

    tycho committed Mar 10, 2014
    I'm also declaring a ton of things 'static', as we don't have any reason to
    export them.
    
    The remaining exported symbols are used by the multiGPU test, which I think
    could be rearchitected to not use globals.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  8. nbody: eliminate dead references to thread pools

    tycho committed Mar 10, 2014
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  9. nbody: use CPU SOA implementation as reference

    tycho committed Mar 10, 2014
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  10. nbody: use GNU getopt instead of chCommandLine

    tycho committed Mar 10, 2014
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  11. GNUmakefile: only add -Wa,-q on Mac if compiler is GCC

    tycho committed Mar 10, 2014
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  12. chThread_POSIX.h: drop include of <new>

    tycho committed Mar 10, 2014
    It's unneeded and breaks on Mac for some reason.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  13. GNUmakefile: on Darwin, use -Wa,-q for C++ compilation

    tycho committed Feb 27, 2014
    This allows us to use AVX instructions, because GCC will invoke clang for
    assembly.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  14. nbody_CPU_SIMD.h: include stdlib.h for definition of size_t

    tycho committed Feb 27, 2014
    Avoids this on Mac OS X:
    
    	g++-mp-4.8  -DUSE_OPENMP -DHAVE_SSE -DNO_CUDA -O3 -march=native -ffast-math
    		-fno-strict-aliasing -Wa,-q -fopenmp -pthread -I../chLib -c -o nbody_CPU_SSE.o
    		nbody_CPU_SSE.cpp
    	In file included from nbody.h:39:0,
    					 from nbody_CPU_SSE.cpp:41:
    	nbody_CPU_SIMD.h:47:5: error: 'size_t' has not been declared
    		 size_t N
    		 ^
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Commits on Mar 3, 2014
  1. makefile: don't separate .cflags file based on BIN name

    tycho committed Mar 2, 2014
    Given that we don't do the same for object files, we might get a mixed
    compilation. No good.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Commits on Feb 25, 2014
  1. nbody.cu: don't print relative error if crosscheck is disabled

    tycho committed Feb 25, 2014
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Commits on Jan 28, 2014
  1. remove nbody_multiGPU_threaded

    tycho committed Jan 28, 2014
    It wasn't really adding any value.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  2. nbody.cu: add GFLOPS calculation

    tycho committed Jan 28, 2014
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Commits on Nov 17, 2013
Commits on Oct 24, 2013
  1. Microbenchmark for small and large allocations of device

    EC2 Default User
    EC2 Default User committed Oct 24, 2013
    and host memory.
Commits on Sep 30, 2013
  1. nbody.cu: memset the g_host{SOA,AOS}_Force arrays before running the …

    tycho committed Sep 30, 2013
    …test
    
    Without this, it's possible for these arrays to be filled with data from the
    crosscheck run, and be untouched by any of the tested functions (e.g. if one of
    the tested functions returns 0.0f due to failure, we wouldn't be able to tell
    because the arrays contain a perfect match for the crosscheck).
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  2. add assertion for nbody_CPU_*_tiled: N should be a multiple of 1024

    tycho committed Sep 30, 2013
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  3. remove rounding of g_N to multiple of CPU core count

    tycho committed Sep 30, 2013
    We don't need it anymore, as it was only needed for the _threaded versions of
    the tests. Now we can use arbitrary N values.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  4. nbody.cu: set CPU_SOA as the default if CUDA isn't available

    tycho committed Sep 30, 2013
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  5. set max algorithm to CPU_SOA_tiled if SIMD is unavailable

    tycho committed Sep 30, 2013
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  6. chThread: use omp_get_num_threads for processorCount, if built with O…

    tycho committed Sep 20, 2013
    …penMP
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  7. nbody: if OpenMP is enabled, find and add libiomp5 to libraries

    tycho committed Sep 20, 2013
    libiomp5 is much better than libgomp, so we try to always link it explicitly
    when it's available.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  8. nbody: change tile size for CPU_*_tiled to be greatest common factor

    tycho committed Sep 20, 2013
    We do multiples of 1024 bodies, so it makes sense to set our tiles to that
    size. In some quick testing, this reduced the time cost for the _tiled
    variants.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  9. nbody_CPU_AOS: drop 'shared' specifier on OpenMP stanza

    tycho committed Sep 20, 2013
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  10. nbody: silence warning about implicit conversion from size_t to int

    tycho committed Sep 20, 2013
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  11. nbody: make ICC builds less chatty

    tycho committed Sep 20, 2013
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  12. nbody: in #pragma simd, use 'vectorlengthfor' rather than 'vectorlength'

    tycho committed Sep 20, 2013
    This allows the compiler to choose based on 128-bit/256-bit register
    availability, etc.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  13. nbody_CPU_SIMD: correct declaration of 'pos'

    tycho committed Sep 20, 2013
    It's an array of 3 float pointers, not 4. This is mostly a cosmetic change, as
    we weren't doing any out-of-bounds accesses, but it makes it more clear.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  14. nbody_CPU_SOA.cpp: add SIMD vectorization support

    tycho committed Sep 20, 2013
    The inner loop can be explicitly called out for vectorization.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
  15. nbody_CPU_SOA: make not suck

    tycho committed Sep 20, 2013
    I don't know why this was doing it the way it was, but the atomic updates were
    really slowing everything down.
    
    Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Older
You can’t perform that action at this time.