resources: move all GPU tests into a GPU sub-folder

Change-Id: Ic00e2c54daab0b99979a23c48f5541c697cd5d5a
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5-resources/+/47499
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: Bobby R. Bruce <bbruce@ucdavis.edu>
diff --git a/README.md b/README.md
index b507bc1..ed3c97d 100644
--- a/README.md
+++ b/README.md
@@ -328,11 +328,11 @@
 To compile:
 
 ```
-cd src/square
+cd src/gpu/square
 docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu make gfx8-apu
 ```
 
-The compiled binary can be found in `src/square/bin`
+The compiled binary can be found in `src/gpu/square/bin`
 
 ### Square Pre-built binary
 
@@ -357,11 +357,11 @@
 To compile:
 
 ```
-cd src/hsa-agent-pkt
+cd src/gpu/hsa-agent-pkt
 docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu make gfx8-apu
 ```
 
-The compiled binary can be found in `src/hsa-agent-pkt/bin`
+The compiled binary can be found in `src/gpu/hsa-agent-pkt/bin`
 
 # Resource: HIP Sample Applications
 
@@ -379,7 +379,7 @@
 ## Compilation
 
 ```
-cd src/hip-samples
+cd src/gpu/hip-samples
 docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu make
 ```
 
@@ -417,7 +417,7 @@
 
 ## Compilation
 ```
-cd src/heterosync
+cd src/gpu/heterosync
 docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu make release-gfx8-apu
 ```
 
@@ -437,11 +437,11 @@
 
 ## Compilation and Running
 ```
-cd src/lulesh
+cd src/gpu/lulesh
 docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu make
 ```
 
-By default, the makefile builds for gfx801, and is placed in the `src/lulesh/bin` folder.
+By default, the makefile builds for gfx801, and is placed in the `src/gpu/lulesh/bin` folder.
 
 lulesh is a GPU application, which requires that gem5 is built with the GCN3_X86 architecture.
 To build GCN3_X86:
@@ -460,7 +460,7 @@
 
 ```
 # Assuming gem5 and gem5-resources are in your working directory
-docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu gem5/build/GCN3_X86/gem5.opt gem5/configs/example/apu_se.py -n2 --mem-size=8GB --benchmark-root=gem5-resources/src/lulesh/bin -clulesh
+docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu gem5/build/GCN3_X86/gem5.opt gem5/configs/example/apu_se.py -n2 --mem-size=8GB --benchmark-root=gem5-resources/src/gpu/lulesh/bin -clulesh
 ```
 
 ## Pre-built binary
@@ -474,8 +474,8 @@
 under the influence of gravity. The halo-finder code can be GPU accelerated by using
 the code in RCBForceTree.cxx
 
-`src/halo-finder/src` contains the code required to build and run ForceTreeTest from `src/halo_finder` in the main HACC codebase.
-`src/halo-finder/src/dfft` contains the dfft code from `src/dfft` in the main HACC codebase.
+`src/gpu/halo-finder/src` contains the code required to build and run ForceTreeTest from `src/halo_finder` in the main HACC codebase.
+`src/gpu/halo-finder/src/dfft` contains the dfft code from `src/dfft` in the main HACC codebase.
 
 ## Compilation and Running
 
@@ -488,12 +488,12 @@
 
 To build the Docker image and the benchmark:
 ```
-cd src/halo-finder
+cd src/gpu/halo-finder
 docker build -t <image_name> .
 docker run --rm -v ${PWD}:${PWD} -w ${PWD}/src -u $UID:$GID <image_name> make hip/ForceTreeTest
 ```
 
-The binary is built for gfx801 by default and is placed at `src/halo-finder/src/hip/ForceTreeTest`
+The binary is built for gfx801 by default and is placed at `src/gpu/halo-finder/src/hip/ForceTreeTest`
 
 ForceTreeTest is a GPU application, which requires that gem5 is built with the GCN3_X86 architecture.
 To build GCN3_X86:
@@ -505,7 +505,7 @@
 To run ForceTreeTest:
 ```
 # Assuming gem5 and gem5-resources are in the working directory
-docker run --rm -v $PWD:$PWD -w $PWD -u $UID:$GID <image_name> gem5/build/GCN3_X86/gem5.opt gem5/configs/example/apu_se.py -n3 --benchmark-root=gem5-resources/src/halo-finder/src/hip -cForceTreeTest --options="0.5 0.1 64 0.1 1 N 12 rcb"
+docker run --rm -v $PWD:$PWD -w $PWD -u $UID:$GID <image_name> gem5/build/GCN3_X86/gem5.opt gem5/configs/example/apu_se.py -n3 --benchmark-root=gem5-resources/src/gpu/halo-finder/src/hip -cForceTreeTest --options="0.5 0.1 64 0.1 1 N 12 rcb"
 ```
 
 ## Pre-built binary
@@ -520,7 +520,7 @@
 ## Compilation and Running
 
 DNNMark requires additional programs that aren't installed in the standard GCN
-docker image. There is a Dockerfile in `src/DNNMark` that installs the additional
+docker image. There is a Dockerfile in `src/gpu/DNNMark` that installs the additional
 software.
 
 To build DNNMark (Including the new docker image):
@@ -529,7 +529,7 @@
 won't be able to link against the library. The example commands do this by using
 `-v ${PWD}:${PWD}` in the docker run commands
 ```
-cd src/DNNMark
+cd src/gpu/DNNMark
 docker build -t <image_name> .
 docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID <image_name> ./setup.sh HIP
 docker run --rm -v ${PWD}:${PWD} -w ${PWD}/build -u $UID:$GID <image_name> make
@@ -541,7 +541,7 @@
 
 To generate the MIOpen kernels:
 ```
-cd src/DNNMark
+cd src/gpu/DNNMark
 docker run --rm -v ${PWD}:${PWD} -v${PWD}/cachefiles:/.cache/miopen/1.7.0 -w ${PWD} <image_name> ./generate_cachefiles.sh
 ```
 
@@ -551,7 +551,7 @@
 
 To make the MMAP file:
 ```
-cd src/DNNMark
+cd src/gpu/DNNMark
 g++ -std=c++0x generate_rand_data.cpp -o generate_rand_data
 ./generate_rand_data
 ```
@@ -566,7 +566,7 @@
 To run one of the benchmarks (fwd softmax) in gem5:
 ```
 # Assuming gem5 and gem5-resources are sub-directories of the current directory
-docker run --rm -u $UID:$GID -v ${PWD}:${PWD} -v ${PWD}/gem5-resources/src/DNNMark/cachefiles:/.cache/miopen/1.7.0 -w ${PWD} <image_name> gem5/build/GCN3_X86/gem5.opt gem5/configs/example/apu_se.py -n2 --benchmark-root=gem5-resources/src/DNNMark/build/benchmarks/test_fwd_softmax -cdnnmark_test_fwd_softmax --options="-config gem5-resources/src/DNNMark/config_example/softmax_config.dnnmark -mmap gem5-resources/src/DNNMark/mmap.bin"
+docker run --rm -u $UID:$GID -v ${PWD}:${PWD} -v ${PWD}/gem5-resources/src/gpu/DNNMark/cachefiles:/.cache/miopen/1.7.0 -w ${PWD} <image_name> gem5/build/GCN3_X86/gem5.opt gem5/configs/example/apu_se.py -n2 --benchmark-root=gem5-resources/src/gpu/DNNMark/build/benchmarks/test_fwd_softmax -cdnnmark_test_fwd_softmax --options="-config gem5-resources/src/gpu/DNNMark/config_example/softmax_config.dnnmark -mmap gem5-resources/src/gpu/DNNMark/mmap.bin"
 ```
 
 
@@ -580,22 +580,22 @@
 ## Compiling and Running
 
 ```
-cd src/pennant
+cd src/gpu/pennant
 docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu make
 ```
 
-By default, the binary is built for gfx801 and is placed in `src/pennant/build`
+By default, the binary is built for gfx801 and is placed in `src/gpu/pennant/build`
 
 pennant is a GPU application, which requires that gem5 is built with the GCN3_X86 architecture.
 
-pennant has sample input files located at `src/pennant/test`. The following command shows how to run the sample `noh`
+pennant has sample input files located at `src/gpu/pennant/test`. The following command shows how to run the sample `noh`
 
 ```
 # Assuming gem5 and gem5-resources are in your working directory
-docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu gem5/build/GCN3_X86/gem5.opt gem5/configs/example/apu_se.py -n2 --benchmark-root=gem5-resources/src/pennant/build -cpennant --options="gem5-resources/src/pennant/test/noh/noh.pnt"
+docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu gem5/build/GCN3_X86/gem5.opt gem5/configs/example/apu_se.py -n2 --benchmark-root=gem5-resources/src/gpu/pennant/build -cpennant --options="gem5-resources/src/gpu/pennant/test/noh/noh.pnt"
 ```
 
-The output gets placed in `src/pennant/test/noh/`, and the file `noh.xy`
+The output gets placed in `src/gpu/pennant/test/noh/`, and the file `noh.xy`
 against the `noh.xy.std` file. Note: Only some tests have `.xy.std` files to
 compare against, and there may be slight differences due to floating-point rounding
 
@@ -783,21 +783,21 @@
 * **riscv-tests** : [`src/riscv-tests/LICENSE`](
 https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/riscv-tests/LICENSE).
 * **square**: Consult individual copyright notices of source files in
-`src/square`.
-* **hsa-agent-pkt**: `src/hsa-agent-pkt/square.cpp` is licensed under the
-same licence as 'src/square/square.cpp'.
-`src/hsa-agent-pkt/HSA_Interface.[h|.cpp]` are licensed under a BSD Lisense
+`src/gpu/square`.
+* **hsa-agent-pkt**: `src/gpu/hsa-agent-pkt/square.cpp` is licensed under the
+same licence as 'src/gpu/square/square.cpp'.
+`src/gpu/hsa-agent-pkt/HSA_Interface.[h|.cpp]` are licensed under a BSD Lisense
 (A University of Maryland copyright).
 * **hip-samples**: Consult individual copyright notices of the source file in
-'src/hip-samples/src'
-* **heterosync**: Consult `src/heterosync/LICENSE.txt`
-* **lulesh**: Consult the copyright notice in `src/lulesh/src/lulesh.hip.cc`
+'src/gpu/hip-samples/src'
+* **heterosync**: Consult `src/gpu/heterosync/LICENSE.txt`
+* **lulesh**: Consult the copyright notice in `src/gpu/lulesh/src/gpu/lulesh.hip.cc`
 * **halo-finder**: halo-finder is a subcomponent of HACC, which is licensed under
 a BSD license.
-* **DNNMark**: DNNMark is licensed under an MIT license, see `src/DNNMark/LICENSE`
-* **pennant**: pennant is licensed under a BSD license, see `src/pennant/LICENSE`
-[src/square](
-https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/square).
+* **DNNMark**: DNNMark is licensed under an MIT license, see `src/gpu/DNNMark/LICENSE`
+* **pennant**: pennant is licensed under a BSD license, see `src/gpu/pennant/LICENSE`
+[src/gpu/square](
+https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/gpu/square).
 * **spec 2006**: SPEC CPU 2006 requires purchase of benchmark suite from
 [SPEC](https://www.spec.org/cpu2006/) thus, it cannot be freely distributed.
 Consult individual copyright notices of source files in [`src/spec-2006`](
diff --git a/src/DNNMark/.gitignore b/src/gpu/DNNMark/.gitignore
similarity index 100%
rename from src/DNNMark/.gitignore
rename to src/gpu/DNNMark/.gitignore
diff --git a/src/DNNMark/CMakeLists.txt b/src/gpu/DNNMark/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/CMakeLists.txt
rename to src/gpu/DNNMark/CMakeLists.txt
diff --git a/src/DNNMark/Dockerfile b/src/gpu/DNNMark/Dockerfile
similarity index 100%
rename from src/DNNMark/Dockerfile
rename to src/gpu/DNNMark/Dockerfile
diff --git a/src/DNNMark/LICENSE b/src/gpu/DNNMark/LICENSE
similarity index 100%
rename from src/DNNMark/LICENSE
rename to src/gpu/DNNMark/LICENSE
diff --git a/src/DNNMark/Makefile b/src/gpu/DNNMark/Makefile
similarity index 100%
rename from src/DNNMark/Makefile
rename to src/gpu/DNNMark/Makefile
diff --git a/src/DNNMark/README.md b/src/gpu/DNNMark/README.md
similarity index 100%
rename from src/DNNMark/README.md
rename to src/gpu/DNNMark/README.md
diff --git a/src/DNNMark/benchmarks/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_VGG/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_VGG/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_VGG/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_VGG/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_VGG/test_VGG.cc b/src/gpu/DNNMark/benchmarks/test_VGG/test_VGG.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_VGG/test_VGG.cc
rename to src/gpu/DNNMark/benchmarks/test_VGG/test_VGG.cc
diff --git a/src/DNNMark/benchmarks/test_alexnet/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_alexnet/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_alexnet/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_alexnet/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_alexnet/test_alexnet.cc b/src/gpu/DNNMark/benchmarks/test_alexnet/test_alexnet.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_alexnet/test_alexnet.cc
rename to src/gpu/DNNMark/benchmarks/test_alexnet/test_alexnet.cc
diff --git a/src/DNNMark/benchmarks/test_bwd_activation/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_bwd_activation/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_activation/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_bwd_activation/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_bwd_activation/test_bwd_activation.cc b/src/gpu/DNNMark/benchmarks/test_bwd_activation/test_bwd_activation.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_activation/test_bwd_activation.cc
rename to src/gpu/DNNMark/benchmarks/test_bwd_activation/test_bwd_activation.cc
diff --git a/src/DNNMark/benchmarks/test_bwd_bn/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_bwd_bn/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_bn/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_bwd_bn/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_bwd_bn/test_bwd_bn.cc b/src/gpu/DNNMark/benchmarks/test_bwd_bn/test_bwd_bn.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_bn/test_bwd_bn.cc
rename to src/gpu/DNNMark/benchmarks/test_bwd_bn/test_bwd_bn.cc
diff --git a/src/DNNMark/benchmarks/test_bwd_bypass/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_bwd_bypass/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_bypass/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_bwd_bypass/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_bwd_bypass/test_bwd_bypass.cc b/src/gpu/DNNMark/benchmarks/test_bwd_bypass/test_bwd_bypass.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_bypass/test_bwd_bypass.cc
rename to src/gpu/DNNMark/benchmarks/test_bwd_bypass/test_bwd_bypass.cc
diff --git a/src/DNNMark/benchmarks/test_bwd_composed_model/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_bwd_composed_model/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_composed_model/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_bwd_composed_model/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_bwd_composed_model/test_bwd_composed_model.cc b/src/gpu/DNNMark/benchmarks/test_bwd_composed_model/test_bwd_composed_model.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_composed_model/test_bwd_composed_model.cc
rename to src/gpu/DNNMark/benchmarks/test_bwd_composed_model/test_bwd_composed_model.cc
diff --git a/src/DNNMark/benchmarks/test_bwd_conv/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_bwd_conv/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_conv/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_bwd_conv/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_bwd_conv/test_bwd_conv.cc b/src/gpu/DNNMark/benchmarks/test_bwd_conv/test_bwd_conv.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_conv/test_bwd_conv.cc
rename to src/gpu/DNNMark/benchmarks/test_bwd_conv/test_bwd_conv.cc
diff --git a/src/DNNMark/benchmarks/test_bwd_dropout/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_bwd_dropout/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_dropout/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_bwd_dropout/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_bwd_dropout/test_bwd_dropout.cc b/src/gpu/DNNMark/benchmarks/test_bwd_dropout/test_bwd_dropout.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_dropout/test_bwd_dropout.cc
rename to src/gpu/DNNMark/benchmarks/test_bwd_dropout/test_bwd_dropout.cc
diff --git a/src/DNNMark/benchmarks/test_bwd_fc/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_bwd_fc/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_fc/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_bwd_fc/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_bwd_fc/test_bwd_fc.cc b/src/gpu/DNNMark/benchmarks/test_bwd_fc/test_bwd_fc.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_fc/test_bwd_fc.cc
rename to src/gpu/DNNMark/benchmarks/test_bwd_fc/test_bwd_fc.cc
diff --git a/src/DNNMark/benchmarks/test_bwd_lrn/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_bwd_lrn/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_lrn/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_bwd_lrn/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_bwd_lrn/test_bwd_lrn.cc b/src/gpu/DNNMark/benchmarks/test_bwd_lrn/test_bwd_lrn.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_lrn/test_bwd_lrn.cc
rename to src/gpu/DNNMark/benchmarks/test_bwd_lrn/test_bwd_lrn.cc
diff --git a/src/DNNMark/benchmarks/test_bwd_pool/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_bwd_pool/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_pool/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_bwd_pool/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_bwd_pool/test_bwd_pool.cc b/src/gpu/DNNMark/benchmarks/test_bwd_pool/test_bwd_pool.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_pool/test_bwd_pool.cc
rename to src/gpu/DNNMark/benchmarks/test_bwd_pool/test_bwd_pool.cc
diff --git a/src/DNNMark/benchmarks/test_bwd_softmax/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_bwd_softmax/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_softmax/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_bwd_softmax/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_bwd_softmax/test_bwd_softmax.cc b/src/gpu/DNNMark/benchmarks/test_bwd_softmax/test_bwd_softmax.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_bwd_softmax/test_bwd_softmax.cc
rename to src/gpu/DNNMark/benchmarks/test_bwd_softmax/test_bwd_softmax.cc
diff --git a/src/DNNMark/benchmarks/test_composed_model/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_composed_model/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_composed_model/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_composed_model/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_composed_model/test_composed_model.cc b/src/gpu/DNNMark/benchmarks/test_composed_model/test_composed_model.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_composed_model/test_composed_model.cc
rename to src/gpu/DNNMark/benchmarks/test_composed_model/test_composed_model.cc
diff --git a/src/DNNMark/benchmarks/test_fwd_activation/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_fwd_activation/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_activation/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_fwd_activation/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_fwd_activation/test_fwd_activation.cc b/src/gpu/DNNMark/benchmarks/test_fwd_activation/test_fwd_activation.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_activation/test_fwd_activation.cc
rename to src/gpu/DNNMark/benchmarks/test_fwd_activation/test_fwd_activation.cc
diff --git a/src/DNNMark/benchmarks/test_fwd_bn/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_fwd_bn/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_bn/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_fwd_bn/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_fwd_bn/test_fwd_bn.cc b/src/gpu/DNNMark/benchmarks/test_fwd_bn/test_fwd_bn.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_bn/test_fwd_bn.cc
rename to src/gpu/DNNMark/benchmarks/test_fwd_bn/test_fwd_bn.cc
diff --git a/src/DNNMark/benchmarks/test_fwd_bypass/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_fwd_bypass/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_bypass/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_fwd_bypass/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_fwd_bypass/test_fwd_bypass.cc b/src/gpu/DNNMark/benchmarks/test_fwd_bypass/test_fwd_bypass.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_bypass/test_fwd_bypass.cc
rename to src/gpu/DNNMark/benchmarks/test_fwd_bypass/test_fwd_bypass.cc
diff --git a/src/DNNMark/benchmarks/test_fwd_composed_model/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_fwd_composed_model/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_composed_model/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_fwd_composed_model/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_fwd_composed_model/test_fwd_composed_model.cc b/src/gpu/DNNMark/benchmarks/test_fwd_composed_model/test_fwd_composed_model.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_composed_model/test_fwd_composed_model.cc
rename to src/gpu/DNNMark/benchmarks/test_fwd_composed_model/test_fwd_composed_model.cc
diff --git a/src/DNNMark/benchmarks/test_fwd_conv/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_fwd_conv/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_conv/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_fwd_conv/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_fwd_conv/test_fwd_conv.cc b/src/gpu/DNNMark/benchmarks/test_fwd_conv/test_fwd_conv.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_conv/test_fwd_conv.cc
rename to src/gpu/DNNMark/benchmarks/test_fwd_conv/test_fwd_conv.cc
diff --git a/src/DNNMark/benchmarks/test_fwd_dropout/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_fwd_dropout/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_dropout/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_fwd_dropout/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_fwd_dropout/test_fwd_dropout.cc b/src/gpu/DNNMark/benchmarks/test_fwd_dropout/test_fwd_dropout.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_dropout/test_fwd_dropout.cc
rename to src/gpu/DNNMark/benchmarks/test_fwd_dropout/test_fwd_dropout.cc
diff --git a/src/DNNMark/benchmarks/test_fwd_fc/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_fwd_fc/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_fc/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_fwd_fc/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_fwd_fc/test_fwd_fc.cc b/src/gpu/DNNMark/benchmarks/test_fwd_fc/test_fwd_fc.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_fc/test_fwd_fc.cc
rename to src/gpu/DNNMark/benchmarks/test_fwd_fc/test_fwd_fc.cc
diff --git a/src/DNNMark/benchmarks/test_fwd_lrn/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_fwd_lrn/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_lrn/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_fwd_lrn/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_fwd_lrn/test_fwd_lrn.cc b/src/gpu/DNNMark/benchmarks/test_fwd_lrn/test_fwd_lrn.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_lrn/test_fwd_lrn.cc
rename to src/gpu/DNNMark/benchmarks/test_fwd_lrn/test_fwd_lrn.cc
diff --git a/src/DNNMark/benchmarks/test_fwd_pool/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_fwd_pool/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_pool/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_fwd_pool/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_fwd_pool/test_fwd_pool.cc b/src/gpu/DNNMark/benchmarks/test_fwd_pool/test_fwd_pool.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_pool/test_fwd_pool.cc
rename to src/gpu/DNNMark/benchmarks/test_fwd_pool/test_fwd_pool.cc
diff --git a/src/DNNMark/benchmarks/test_fwd_softmax/CMakeLists.txt b/src/gpu/DNNMark/benchmarks/test_fwd_softmax/CMakeLists.txt
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_softmax/CMakeLists.txt
rename to src/gpu/DNNMark/benchmarks/test_fwd_softmax/CMakeLists.txt
diff --git a/src/DNNMark/benchmarks/test_fwd_softmax/test_fwd_softmax.cc b/src/gpu/DNNMark/benchmarks/test_fwd_softmax/test_fwd_softmax.cc
similarity index 100%
rename from src/DNNMark/benchmarks/test_fwd_softmax/test_fwd_softmax.cc
rename to src/gpu/DNNMark/benchmarks/test_fwd_softmax/test_fwd_softmax.cc
diff --git a/src/DNNMark/benchmarks/usage.cc b/src/gpu/DNNMark/benchmarks/usage.cc
similarity index 100%
rename from src/DNNMark/benchmarks/usage.cc
rename to src/gpu/DNNMark/benchmarks/usage.cc
diff --git a/src/DNNMark/benchmarks/usage.h b/src/gpu/DNNMark/benchmarks/usage.h
similarity index 100%
rename from src/DNNMark/benchmarks/usage.h
rename to src/gpu/DNNMark/benchmarks/usage.h
diff --git a/src/DNNMark/cmake/gflag.cmake b/src/gpu/DNNMark/cmake/gflag.cmake
similarity index 100%
rename from src/DNNMark/cmake/gflag.cmake
rename to src/gpu/DNNMark/cmake/gflag.cmake
diff --git a/src/DNNMark/config_example/VGG.dnnmark b/src/gpu/DNNMark/config_example/VGG.dnnmark
similarity index 100%
rename from src/DNNMark/config_example/VGG.dnnmark
rename to src/gpu/DNNMark/config_example/VGG.dnnmark
diff --git a/src/DNNMark/config_example/VGG.dnntemplate b/src/gpu/DNNMark/config_example/VGG.dnntemplate
similarity index 100%
rename from src/DNNMark/config_example/VGG.dnntemplate
rename to src/gpu/DNNMark/config_example/VGG.dnntemplate
diff --git a/src/DNNMark/config_example/activation_config.dnnmark b/src/gpu/DNNMark/config_example/activation_config.dnnmark
similarity index 100%
rename from src/DNNMark/config_example/activation_config.dnnmark
rename to src/gpu/DNNMark/config_example/activation_config.dnnmark
diff --git a/src/DNNMark/config_example/alexnet.dnnmark b/src/gpu/DNNMark/config_example/alexnet.dnnmark
similarity index 100%
rename from src/DNNMark/config_example/alexnet.dnnmark
rename to src/gpu/DNNMark/config_example/alexnet.dnnmark
diff --git a/src/DNNMark/config_example/bn_config.dnnmark b/src/gpu/DNNMark/config_example/bn_config.dnnmark
similarity index 100%
rename from src/DNNMark/config_example/bn_config.dnnmark
rename to src/gpu/DNNMark/config_example/bn_config.dnnmark
diff --git a/src/DNNMark/config_example/bypass_config.dnnmark b/src/gpu/DNNMark/config_example/bypass_config.dnnmark
similarity index 100%
rename from src/DNNMark/config_example/bypass_config.dnnmark
rename to src/gpu/DNNMark/config_example/bypass_config.dnnmark
diff --git a/src/DNNMark/config_example/composed_model_config.dnnmark b/src/gpu/DNNMark/config_example/composed_model_config.dnnmark
similarity index 100%
rename from src/DNNMark/config_example/composed_model_config.dnnmark
rename to src/gpu/DNNMark/config_example/composed_model_config.dnnmark
diff --git a/src/DNNMark/config_example/conf_convolution_block.dnnmark b/src/gpu/DNNMark/config_example/conf_convolution_block.dnnmark
similarity index 100%
rename from src/DNNMark/config_example/conf_convolution_block.dnnmark
rename to src/gpu/DNNMark/config_example/conf_convolution_block.dnnmark
diff --git a/src/DNNMark/config_example/conf_convolution_block.dnntemplate b/src/gpu/DNNMark/config_example/conf_convolution_block.dnntemplate
similarity index 100%
rename from src/DNNMark/config_example/conf_convolution_block.dnntemplate
rename to src/gpu/DNNMark/config_example/conf_convolution_block.dnntemplate
diff --git a/src/DNNMark/config_example/conv_config.dnnmark b/src/gpu/DNNMark/config_example/conv_config.dnnmark
similarity index 100%
rename from src/DNNMark/config_example/conv_config.dnnmark
rename to src/gpu/DNNMark/config_example/conv_config.dnnmark
diff --git a/src/DNNMark/config_example/dropout_config.dnnmark b/src/gpu/DNNMark/config_example/dropout_config.dnnmark
similarity index 100%
rename from src/DNNMark/config_example/dropout_config.dnnmark
rename to src/gpu/DNNMark/config_example/dropout_config.dnnmark
diff --git a/src/DNNMark/config_example/fc_config.dnnmark b/src/gpu/DNNMark/config_example/fc_config.dnnmark
similarity index 100%
rename from src/DNNMark/config_example/fc_config.dnnmark
rename to src/gpu/DNNMark/config_example/fc_config.dnnmark
diff --git a/src/DNNMark/config_example/lrn_config.dnnmark b/src/gpu/DNNMark/config_example/lrn_config.dnnmark
similarity index 100%
rename from src/DNNMark/config_example/lrn_config.dnnmark
rename to src/gpu/DNNMark/config_example/lrn_config.dnnmark
diff --git a/src/DNNMark/config_example/pool_config.dnnmark b/src/gpu/DNNMark/config_example/pool_config.dnnmark
similarity index 100%
rename from src/DNNMark/config_example/pool_config.dnnmark
rename to src/gpu/DNNMark/config_example/pool_config.dnnmark
diff --git a/src/DNNMark/config_example/softmax_config.dnnmark b/src/gpu/DNNMark/config_example/softmax_config.dnnmark
similarity index 100%
rename from src/DNNMark/config_example/softmax_config.dnnmark
rename to src/gpu/DNNMark/config_example/softmax_config.dnnmark
diff --git a/src/DNNMark/core/include/common.h b/src/gpu/DNNMark/core/include/common.h
similarity index 100%
rename from src/DNNMark/core/include/common.h
rename to src/gpu/DNNMark/core/include/common.h
diff --git a/src/DNNMark/core/include/data_manager.h b/src/gpu/DNNMark/core/include/data_manager.h
similarity index 100%
rename from src/DNNMark/core/include/data_manager.h
rename to src/gpu/DNNMark/core/include/data_manager.h
diff --git a/src/DNNMark/core/include/data_png.h b/src/gpu/DNNMark/core/include/data_png.h
similarity index 100%
rename from src/DNNMark/core/include/data_png.h
rename to src/gpu/DNNMark/core/include/data_png.h
diff --git a/src/DNNMark/core/include/dnn_config_keywords.h b/src/gpu/DNNMark/core/include/dnn_config_keywords.h
similarity index 100%
rename from src/DNNMark/core/include/dnn_config_keywords.h
rename to src/gpu/DNNMark/core/include/dnn_config_keywords.h
diff --git a/src/DNNMark/core/include/dnn_layer.h b/src/gpu/DNNMark/core/include/dnn_layer.h
similarity index 100%
rename from src/DNNMark/core/include/dnn_layer.h
rename to src/gpu/DNNMark/core/include/dnn_layer.h
diff --git a/src/DNNMark/core/include/dnn_param.h b/src/gpu/DNNMark/core/include/dnn_param.h
similarity index 100%
rename from src/DNNMark/core/include/dnn_param.h
rename to src/gpu/DNNMark/core/include/dnn_param.h
diff --git a/src/DNNMark/core/include/dnn_utility.h b/src/gpu/DNNMark/core/include/dnn_utility.h
similarity index 100%
rename from src/DNNMark/core/include/dnn_utility.h
rename to src/gpu/DNNMark/core/include/dnn_utility.h
diff --git a/src/DNNMark/core/include/dnn_wrapper.h b/src/gpu/DNNMark/core/include/dnn_wrapper.h
similarity index 100%
rename from src/DNNMark/core/include/dnn_wrapper.h
rename to src/gpu/DNNMark/core/include/dnn_wrapper.h
diff --git a/src/DNNMark/core/include/dnnmark.h b/src/gpu/DNNMark/core/include/dnnmark.h
similarity index 100%
rename from src/DNNMark/core/include/dnnmark.h
rename to src/gpu/DNNMark/core/include/dnnmark.h
diff --git a/src/DNNMark/core/include/gemm_wrapper.h b/src/gpu/DNNMark/core/include/gemm_wrapper.h
similarity index 100%
rename from src/DNNMark/core/include/gemm_wrapper.h
rename to src/gpu/DNNMark/core/include/gemm_wrapper.h
diff --git a/src/DNNMark/core/include/layers/activation_layer.h b/src/gpu/DNNMark/core/include/layers/activation_layer.h
similarity index 100%
rename from src/DNNMark/core/include/layers/activation_layer.h
rename to src/gpu/DNNMark/core/include/layers/activation_layer.h
diff --git a/src/DNNMark/core/include/layers/bn_layer.h b/src/gpu/DNNMark/core/include/layers/bn_layer.h
similarity index 100%
rename from src/DNNMark/core/include/layers/bn_layer.h
rename to src/gpu/DNNMark/core/include/layers/bn_layer.h
diff --git a/src/DNNMark/core/include/layers/bypass_layer.h b/src/gpu/DNNMark/core/include/layers/bypass_layer.h
similarity index 100%
rename from src/DNNMark/core/include/layers/bypass_layer.h
rename to src/gpu/DNNMark/core/include/layers/bypass_layer.h
diff --git a/src/DNNMark/core/include/layers/conv_layer.h b/src/gpu/DNNMark/core/include/layers/conv_layer.h
similarity index 100%
rename from src/DNNMark/core/include/layers/conv_layer.h
rename to src/gpu/DNNMark/core/include/layers/conv_layer.h
diff --git a/src/DNNMark/core/include/layers/dropout_layer.h b/src/gpu/DNNMark/core/include/layers/dropout_layer.h
similarity index 100%
rename from src/DNNMark/core/include/layers/dropout_layer.h
rename to src/gpu/DNNMark/core/include/layers/dropout_layer.h
diff --git a/src/DNNMark/core/include/layers/fc_layer.h b/src/gpu/DNNMark/core/include/layers/fc_layer.h
similarity index 100%
rename from src/DNNMark/core/include/layers/fc_layer.h
rename to src/gpu/DNNMark/core/include/layers/fc_layer.h
diff --git a/src/DNNMark/core/include/layers/lrn_layer.h b/src/gpu/DNNMark/core/include/layers/lrn_layer.h
similarity index 100%
rename from src/DNNMark/core/include/layers/lrn_layer.h
rename to src/gpu/DNNMark/core/include/layers/lrn_layer.h
diff --git a/src/DNNMark/core/include/layers/pool_layer.h b/src/gpu/DNNMark/core/include/layers/pool_layer.h
similarity index 100%
rename from src/DNNMark/core/include/layers/pool_layer.h
rename to src/gpu/DNNMark/core/include/layers/pool_layer.h
diff --git a/src/DNNMark/core/include/layers/softmax_layer.h b/src/gpu/DNNMark/core/include/layers/softmax_layer.h
similarity index 100%
rename from src/DNNMark/core/include/layers/softmax_layer.h
rename to src/gpu/DNNMark/core/include/layers/softmax_layer.h
diff --git a/src/DNNMark/core/include/timer.h b/src/gpu/DNNMark/core/include/timer.h
similarity index 100%
rename from src/DNNMark/core/include/timer.h
rename to src/gpu/DNNMark/core/include/timer.h
diff --git a/src/DNNMark/core/include/utility.h b/src/gpu/DNNMark/core/include/utility.h
similarity index 100%
rename from src/DNNMark/core/include/utility.h
rename to src/gpu/DNNMark/core/include/utility.h
diff --git a/src/DNNMark/core/src/common.cc b/src/gpu/DNNMark/core/src/common.cc
similarity index 100%
rename from src/DNNMark/core/src/common.cc
rename to src/gpu/DNNMark/core/src/common.cc
diff --git a/src/DNNMark/core/src/dnn_config_keywords.cc b/src/gpu/DNNMark/core/src/dnn_config_keywords.cc
similarity index 100%
rename from src/DNNMark/core/src/dnn_config_keywords.cc
rename to src/gpu/DNNMark/core/src/dnn_config_keywords.cc
diff --git a/src/DNNMark/core/src/dnn_utility.cc b/src/gpu/DNNMark/core/src/dnn_utility.cc
similarity index 100%
rename from src/DNNMark/core/src/dnn_utility.cc
rename to src/gpu/DNNMark/core/src/dnn_utility.cc
diff --git a/src/DNNMark/core/src/dnnmark.cc b/src/gpu/DNNMark/core/src/dnnmark.cc
similarity index 100%
rename from src/DNNMark/core/src/dnnmark.cc
rename to src/gpu/DNNMark/core/src/dnnmark.cc
diff --git a/src/DNNMark/core/src/gemm_wrapper.cc b/src/gpu/DNNMark/core/src/gemm_wrapper.cc
similarity index 100%
rename from src/DNNMark/core/src/gemm_wrapper.cc
rename to src/gpu/DNNMark/core/src/gemm_wrapper.cc
diff --git a/src/DNNMark/core/src/utility.cc b/src/gpu/DNNMark/core/src/utility.cc
similarity index 100%
rename from src/DNNMark/core/src/utility.cc
rename to src/gpu/DNNMark/core/src/utility.cc
diff --git a/src/DNNMark/data/cifar/download.py b/src/gpu/DNNMark/data/cifar/download.py
similarity index 100%
rename from src/DNNMark/data/cifar/download.py
rename to src/gpu/DNNMark/data/cifar/download.py
diff --git a/src/DNNMark/generate_cachefiles.sh b/src/gpu/DNNMark/generate_cachefiles.sh
similarity index 100%
rename from src/DNNMark/generate_cachefiles.sh
rename to src/gpu/DNNMark/generate_cachefiles.sh
diff --git a/src/DNNMark/generate_rand_data.cpp b/src/gpu/DNNMark/generate_rand_data.cpp
similarity index 100%
rename from src/DNNMark/generate_rand_data.cpp
rename to src/gpu/DNNMark/generate_rand_data.cpp
diff --git a/src/DNNMark/generate_rand_data.py b/src/gpu/DNNMark/generate_rand_data.py
similarity index 100%
rename from src/DNNMark/generate_rand_data.py
rename to src/gpu/DNNMark/generate_rand_data.py
diff --git a/src/DNNMark/run_dnnmark_template.sh b/src/gpu/DNNMark/run_dnnmark_template.sh
similarity index 100%
rename from src/DNNMark/run_dnnmark_template.sh
rename to src/gpu/DNNMark/run_dnnmark_template.sh
diff --git a/src/DNNMark/setup.sh b/src/gpu/DNNMark/setup.sh
similarity index 100%
rename from src/DNNMark/setup.sh
rename to src/gpu/DNNMark/setup.sh
diff --git a/src/DNNMark/tools/has_cuda_gpu.c b/src/gpu/DNNMark/tools/has_cuda_gpu.c
similarity index 100%
rename from src/DNNMark/tools/has_cuda_gpu.c
rename to src/gpu/DNNMark/tools/has_cuda_gpu.c
diff --git a/src/DNNMark/tools/parse_nvprof_csv_metrics_with_plot.py b/src/gpu/DNNMark/tools/parse_nvprof_csv_metrics_with_plot.py
similarity index 100%
rename from src/DNNMark/tools/parse_nvprof_csv_metrics_with_plot.py
rename to src/gpu/DNNMark/tools/parse_nvprof_csv_metrics_with_plot.py
diff --git a/src/DNNMark/tools/sanity_test.sh b/src/gpu/DNNMark/tools/sanity_test.sh
similarity index 100%
rename from src/DNNMark/tools/sanity_test.sh
rename to src/gpu/DNNMark/tools/sanity_test.sh
diff --git a/src/halo-finder/.gitignore b/src/gpu/halo-finder/.gitignore
similarity index 100%
rename from src/halo-finder/.gitignore
rename to src/gpu/halo-finder/.gitignore
diff --git a/src/halo-finder/Dockerfile b/src/gpu/halo-finder/Dockerfile
similarity index 100%
rename from src/halo-finder/Dockerfile
rename to src/gpu/halo-finder/Dockerfile
diff --git a/src/halo-finder/src/BGQCM.c b/src/gpu/halo-finder/src/BGQCM.c
similarity index 100%
rename from src/halo-finder/src/BGQCM.c
rename to src/gpu/halo-finder/src/BGQCM.c
diff --git a/src/halo-finder/src/BGQStep16.c b/src/gpu/halo-finder/src/BGQStep16.c
similarity index 100%
rename from src/halo-finder/src/BGQStep16.c
rename to src/gpu/halo-finder/src/BGQStep16.c
diff --git a/src/halo-finder/src/BHForceTree.cxx b/src/gpu/halo-finder/src/BHForceTree.cxx
similarity index 100%
rename from src/halo-finder/src/BHForceTree.cxx
rename to src/gpu/halo-finder/src/BHForceTree.cxx
diff --git a/src/halo-finder/src/BHForceTree.h b/src/gpu/halo-finder/src/BHForceTree.h
similarity index 100%
rename from src/halo-finder/src/BHForceTree.h
rename to src/gpu/halo-finder/src/BHForceTree.h
diff --git a/src/halo-finder/src/BasicDefinition.h b/src/gpu/halo-finder/src/BasicDefinition.h
similarity index 100%
rename from src/halo-finder/src/BasicDefinition.h
rename to src/gpu/halo-finder/src/BasicDefinition.h
diff --git a/src/halo-finder/src/CMakeLists.txt b/src/gpu/halo-finder/src/CMakeLists.txt
similarity index 100%
rename from src/halo-finder/src/CMakeLists.txt
rename to src/gpu/halo-finder/src/CMakeLists.txt
diff --git a/src/halo-finder/src/CosmoDefinition.h.in b/src/gpu/halo-finder/src/CosmoDefinition.h.in
similarity index 100%
rename from src/halo-finder/src/CosmoDefinition.h.in
rename to src/gpu/halo-finder/src/CosmoDefinition.h.in
diff --git a/src/halo-finder/src/CosmoHalo.h b/src/gpu/halo-finder/src/CosmoHalo.h
similarity index 100%
rename from src/halo-finder/src/CosmoHalo.h
rename to src/gpu/halo-finder/src/CosmoHalo.h
diff --git a/src/halo-finder/src/CosmoToGadget2.cxx b/src/gpu/halo-finder/src/CosmoToGadget2.cxx
similarity index 100%
rename from src/halo-finder/src/CosmoToGadget2.cxx
rename to src/gpu/halo-finder/src/CosmoToGadget2.cxx
diff --git a/src/halo-finder/src/Definition.h b/src/gpu/halo-finder/src/Definition.h
similarity index 100%
rename from src/halo-finder/src/Definition.h
rename to src/gpu/halo-finder/src/Definition.h
diff --git a/src/halo-finder/src/ForceLaw.cxx b/src/gpu/halo-finder/src/ForceLaw.cxx
similarity index 100%
rename from src/halo-finder/src/ForceLaw.cxx
rename to src/gpu/halo-finder/src/ForceLaw.cxx
diff --git a/src/halo-finder/src/ForceLaw.h b/src/gpu/halo-finder/src/ForceLaw.h
similarity index 100%
rename from src/halo-finder/src/ForceLaw.h
rename to src/gpu/halo-finder/src/ForceLaw.h
diff --git a/src/halo-finder/src/ForceTree.cxx b/src/gpu/halo-finder/src/ForceTree.cxx
similarity index 100%
rename from src/halo-finder/src/ForceTree.cxx
rename to src/gpu/halo-finder/src/ForceTree.cxx
diff --git a/src/halo-finder/src/ForceTree.h b/src/gpu/halo-finder/src/ForceTree.h
similarity index 100%
rename from src/halo-finder/src/ForceTree.h
rename to src/gpu/halo-finder/src/ForceTree.h
diff --git a/src/halo-finder/src/ForceTreeTest.cxx b/src/gpu/halo-finder/src/ForceTreeTest.cxx
similarity index 100%
rename from src/halo-finder/src/ForceTreeTest.cxx
rename to src/gpu/halo-finder/src/ForceTreeTest.cxx
diff --git a/src/halo-finder/src/InitialExchange.cxx b/src/gpu/halo-finder/src/InitialExchange.cxx
similarity index 100%
rename from src/halo-finder/src/InitialExchange.cxx
rename to src/gpu/halo-finder/src/InitialExchange.cxx
diff --git a/src/halo-finder/src/InitialExchange.h b/src/gpu/halo-finder/src/InitialExchange.h
similarity index 100%
rename from src/halo-finder/src/InitialExchange.h
rename to src/gpu/halo-finder/src/InitialExchange.h
diff --git a/src/halo-finder/src/Makefile b/src/gpu/halo-finder/src/Makefile
similarity index 100%
rename from src/halo-finder/src/Makefile
rename to src/gpu/halo-finder/src/Makefile
diff --git a/src/halo-finder/src/Message.cxx b/src/gpu/halo-finder/src/Message.cxx
similarity index 100%
rename from src/halo-finder/src/Message.cxx
rename to src/gpu/halo-finder/src/Message.cxx
diff --git a/src/halo-finder/src/Message.h b/src/gpu/halo-finder/src/Message.h
similarity index 100%
rename from src/halo-finder/src/Message.h
rename to src/gpu/halo-finder/src/Message.h
diff --git a/src/halo-finder/src/ParticleDistribute.cxx b/src/gpu/halo-finder/src/ParticleDistribute.cxx
similarity index 100%
rename from src/halo-finder/src/ParticleDistribute.cxx
rename to src/gpu/halo-finder/src/ParticleDistribute.cxx
diff --git a/src/halo-finder/src/ParticleDistribute.h b/src/gpu/halo-finder/src/ParticleDistribute.h
similarity index 100%
rename from src/halo-finder/src/ParticleDistribute.h
rename to src/gpu/halo-finder/src/ParticleDistribute.h
diff --git a/src/halo-finder/src/ParticleExchange.cxx b/src/gpu/halo-finder/src/ParticleExchange.cxx
similarity index 100%
rename from src/halo-finder/src/ParticleExchange.cxx
rename to src/gpu/halo-finder/src/ParticleExchange.cxx
diff --git a/src/halo-finder/src/ParticleExchange.h b/src/gpu/halo-finder/src/ParticleExchange.h
similarity index 100%
rename from src/halo-finder/src/ParticleExchange.h
rename to src/gpu/halo-finder/src/ParticleExchange.h
diff --git a/src/halo-finder/src/Partition.cxx b/src/gpu/halo-finder/src/Partition.cxx
similarity index 100%
rename from src/halo-finder/src/Partition.cxx
rename to src/gpu/halo-finder/src/Partition.cxx
diff --git a/src/halo-finder/src/Partition.h b/src/gpu/halo-finder/src/Partition.h
similarity index 100%
rename from src/halo-finder/src/Partition.h
rename to src/gpu/halo-finder/src/Partition.h
diff --git a/src/halo-finder/src/RCBForceTree.cxx b/src/gpu/halo-finder/src/RCBForceTree.cxx
similarity index 100%
rename from src/halo-finder/src/RCBForceTree.cxx
rename to src/gpu/halo-finder/src/RCBForceTree.cxx
diff --git a/src/halo-finder/src/RCBForceTree.h b/src/gpu/halo-finder/src/RCBForceTree.h
similarity index 100%
rename from src/halo-finder/src/RCBForceTree.h
rename to src/gpu/halo-finder/src/RCBForceTree.h
diff --git a/src/halo-finder/src/RCOForceTree.cxx b/src/gpu/halo-finder/src/RCOForceTree.cxx
similarity index 100%
rename from src/halo-finder/src/RCOForceTree.cxx
rename to src/gpu/halo-finder/src/RCOForceTree.cxx
diff --git a/src/halo-finder/src/RCOForceTree.h b/src/gpu/halo-finder/src/RCOForceTree.h
similarity index 100%
rename from src/halo-finder/src/RCOForceTree.h
rename to src/gpu/halo-finder/src/RCOForceTree.h
diff --git a/src/halo-finder/src/README b/src/gpu/halo-finder/src/README
similarity index 100%
rename from src/halo-finder/src/README
rename to src/gpu/halo-finder/src/README
diff --git a/src/halo-finder/src/Timer.cxx b/src/gpu/halo-finder/src/Timer.cxx
similarity index 100%
rename from src/halo-finder/src/Timer.cxx
rename to src/gpu/halo-finder/src/Timer.cxx
diff --git a/src/halo-finder/src/Timer.h b/src/gpu/halo-finder/src/Timer.h
similarity index 100%
rename from src/halo-finder/src/Timer.h
rename to src/gpu/halo-finder/src/Timer.h
diff --git a/src/halo-finder/src/Timings.cxx b/src/gpu/halo-finder/src/Timings.cxx
similarity index 100%
rename from src/halo-finder/src/Timings.cxx
rename to src/gpu/halo-finder/src/Timings.cxx
diff --git a/src/halo-finder/src/Timings.h b/src/gpu/halo-finder/src/Timings.h
similarity index 100%
rename from src/halo-finder/src/Timings.h
rename to src/gpu/halo-finder/src/Timings.h
diff --git a/src/halo-finder/src/bigchunk.c b/src/gpu/halo-finder/src/bigchunk.c
similarity index 100%
rename from src/halo-finder/src/bigchunk.c
rename to src/gpu/halo-finder/src/bigchunk.c
diff --git a/src/halo-finder/src/bigchunk.h b/src/gpu/halo-finder/src/bigchunk.h
similarity index 100%
rename from src/halo-finder/src/bigchunk.h
rename to src/gpu/halo-finder/src/bigchunk.h
diff --git a/src/halo-finder/src/cm_int.c b/src/gpu/halo-finder/src/cm_int.c
similarity index 100%
rename from src/halo-finder/src/cm_int.c
rename to src/gpu/halo-finder/src/cm_int.c
diff --git a/src/halo-finder/src/cudaUtil.h b/src/gpu/halo-finder/src/cudaUtil.h
similarity index 100%
rename from src/halo-finder/src/cudaUtil.h
rename to src/gpu/halo-finder/src/cudaUtil.h
diff --git a/src/halo-finder/src/dfft/Makefile b/src/gpu/halo-finder/src/dfft/Makefile
similarity index 100%
rename from src/halo-finder/src/dfft/Makefile
rename to src/gpu/halo-finder/src/dfft/Makefile
diff --git a/src/halo-finder/src/dfft/README b/src/gpu/halo-finder/src/dfft/README
similarity index 100%
rename from src/halo-finder/src/dfft/README
rename to src/gpu/halo-finder/src/dfft/README
diff --git a/src/halo-finder/src/dfft/active-schedule.c b/src/gpu/halo-finder/src/dfft/active-schedule.c
similarity index 100%
rename from src/halo-finder/src/dfft/active-schedule.c
rename to src/gpu/halo-finder/src/dfft/active-schedule.c
diff --git a/src/halo-finder/src/dfft/active-schedule.h b/src/gpu/halo-finder/src/dfft/active-schedule.h
similarity index 100%
rename from src/halo-finder/src/dfft/active-schedule.h
rename to src/gpu/halo-finder/src/dfft/active-schedule.h
diff --git a/src/halo-finder/src/dfft/allocator.hpp b/src/gpu/halo-finder/src/dfft/allocator.hpp
similarity index 100%
rename from src/halo-finder/src/dfft/allocator.hpp
rename to src/gpu/halo-finder/src/dfft/allocator.hpp
diff --git a/src/halo-finder/src/dfft/comm-schedule.c b/src/gpu/halo-finder/src/dfft/comm-schedule.c
similarity index 100%
rename from src/halo-finder/src/dfft/comm-schedule.c
rename to src/gpu/halo-finder/src/dfft/comm-schedule.c
diff --git a/src/halo-finder/src/dfft/comm-schedule.h b/src/gpu/halo-finder/src/dfft/comm-schedule.h
similarity index 100%
rename from src/halo-finder/src/dfft/comm-schedule.h
rename to src/gpu/halo-finder/src/dfft/comm-schedule.h
diff --git a/src/halo-finder/src/dfft/complex-type.h b/src/gpu/halo-finder/src/dfft/complex-type.h
similarity index 100%
rename from src/halo-finder/src/dfft/complex-type.h
rename to src/gpu/halo-finder/src/dfft/complex-type.h
diff --git a/src/halo-finder/src/dfft/cross.hpp b/src/gpu/halo-finder/src/dfft/cross.hpp
similarity index 100%
rename from src/halo-finder/src/dfft/cross.hpp
rename to src/gpu/halo-finder/src/dfft/cross.hpp
diff --git a/src/halo-finder/src/dfft/cycle.h b/src/gpu/halo-finder/src/dfft/cycle.h
similarity index 100%
rename from src/halo-finder/src/dfft/cycle.h
rename to src/gpu/halo-finder/src/dfft/cycle.h
diff --git a/src/halo-finder/src/dfft/dfft.hpp b/src/gpu/halo-finder/src/dfft/dfft.hpp
similarity index 100%
rename from src/halo-finder/src/dfft/dfft.hpp
rename to src/gpu/halo-finder/src/dfft/dfft.hpp
diff --git a/src/halo-finder/src/dfft/dims.c b/src/gpu/halo-finder/src/dfft/dims.c
similarity index 100%
rename from src/halo-finder/src/dfft/dims.c
rename to src/gpu/halo-finder/src/dfft/dims.c
diff --git a/src/halo-finder/src/dfft/dims.h b/src/gpu/halo-finder/src/dfft/dims.h
similarity index 100%
rename from src/halo-finder/src/dfft/dims.h
rename to src/gpu/halo-finder/src/dfft/dims.h
diff --git a/src/halo-finder/src/dfft/distribution.c b/src/gpu/halo-finder/src/dfft/distribution.c
similarity index 100%
rename from src/halo-finder/src/dfft/distribution.c
rename to src/gpu/halo-finder/src/dfft/distribution.c
diff --git a/src/halo-finder/src/dfft/distribution.h b/src/gpu/halo-finder/src/dfft/distribution.h
similarity index 100%
rename from src/halo-finder/src/dfft/distribution.h
rename to src/gpu/halo-finder/src/dfft/distribution.h
diff --git a/src/halo-finder/src/dfft/distribution.hpp b/src/gpu/halo-finder/src/dfft/distribution.hpp
similarity index 100%
rename from src/halo-finder/src/dfft/distribution.hpp
rename to src/gpu/halo-finder/src/dfft/distribution.hpp
diff --git a/src/halo-finder/src/dfft/fp.h b/src/gpu/halo-finder/src/dfft/fp.h
similarity index 100%
rename from src/halo-finder/src/dfft/fp.h
rename to src/gpu/halo-finder/src/dfft/fp.h
diff --git a/src/halo-finder/src/dfft/include.mk b/src/gpu/halo-finder/src/dfft/include.mk
similarity index 100%
rename from src/halo-finder/src/dfft/include.mk
rename to src/gpu/halo-finder/src/dfft/include.mk
diff --git a/src/halo-finder/src/dfft/pencil.mk b/src/gpu/halo-finder/src/dfft/pencil.mk
similarity index 100%
rename from src/halo-finder/src/dfft/pencil.mk
rename to src/gpu/halo-finder/src/dfft/pencil.mk
diff --git a/src/halo-finder/src/dfft/plot.sh b/src/gpu/halo-finder/src/dfft/plot.sh
similarity index 100%
rename from src/halo-finder/src/dfft/plot.sh
rename to src/gpu/halo-finder/src/dfft/plot.sh
diff --git a/src/halo-finder/src/dfft/solver.hpp b/src/gpu/halo-finder/src/dfft/solver.hpp
similarity index 100%
rename from src/halo-finder/src/dfft/solver.hpp
rename to src/gpu/halo-finder/src/dfft/solver.hpp
diff --git a/src/halo-finder/src/dfft/subarray.c b/src/gpu/halo-finder/src/dfft/subarray.c
similarity index 100%
rename from src/halo-finder/src/dfft/subarray.c
rename to src/gpu/halo-finder/src/dfft/subarray.c
diff --git a/src/halo-finder/src/dims-local.c b/src/gpu/halo-finder/src/dims-local.c
similarity index 100%
rename from src/halo-finder/src/dims-local.c
rename to src/gpu/halo-finder/src/dims-local.c
diff --git a/src/halo-finder/src/include.mk b/src/gpu/halo-finder/src/include.mk
similarity index 100%
rename from src/halo-finder/src/include.mk
rename to src/gpu/halo-finder/src/include.mk
diff --git a/src/halo-finder/src/log.txt b/src/gpu/halo-finder/src/log.txt
similarity index 100%
rename from src/halo-finder/src/log.txt
rename to src/gpu/halo-finder/src/log.txt
diff --git a/src/halo-finder/src/rru_mpi.h b/src/gpu/halo-finder/src/rru_mpi.h
similarity index 100%
rename from src/halo-finder/src/rru_mpi.h
rename to src/gpu/halo-finder/src/rru_mpi.h
diff --git a/src/halo-finder/src/winDirent.h b/src/gpu/halo-finder/src/winDirent.h
similarity index 100%
rename from src/halo-finder/src/winDirent.h
rename to src/gpu/halo-finder/src/winDirent.h
diff --git a/src/heterosync/.gitignore b/src/gpu/heterosync/.gitignore
similarity index 100%
rename from src/heterosync/.gitignore
rename to src/gpu/heterosync/.gitignore
diff --git a/src/heterosync/LICENSE.txt b/src/gpu/heterosync/LICENSE.txt
similarity index 100%
rename from src/heterosync/LICENSE.txt
rename to src/gpu/heterosync/LICENSE.txt
diff --git a/src/heterosync/Makefile b/src/gpu/heterosync/Makefile
similarity index 100%
rename from src/heterosync/Makefile
rename to src/gpu/heterosync/Makefile
diff --git a/src/heterosync/README.txt b/src/gpu/heterosync/README.txt
similarity index 100%
rename from src/heterosync/README.txt
rename to src/gpu/heterosync/README.txt
diff --git a/src/heterosync/src/hipLocks.h b/src/gpu/heterosync/src/hipLocks.h
similarity index 100%
rename from src/heterosync/src/hipLocks.h
rename to src/gpu/heterosync/src/hipLocks.h
diff --git a/src/heterosync/src/hipLocksBarrier.h b/src/gpu/heterosync/src/hipLocksBarrier.h
similarity index 100%
rename from src/heterosync/src/hipLocksBarrier.h
rename to src/gpu/heterosync/src/hipLocksBarrier.h
diff --git a/src/heterosync/src/hipLocksBarrierAtomic.h b/src/gpu/heterosync/src/hipLocksBarrierAtomic.h
similarity index 100%
rename from src/heterosync/src/hipLocksBarrierAtomic.h
rename to src/gpu/heterosync/src/hipLocksBarrierAtomic.h
diff --git a/src/heterosync/src/hipLocksBarrierFast.h b/src/gpu/heterosync/src/hipLocksBarrierFast.h
similarity index 100%
rename from src/heterosync/src/hipLocksBarrierFast.h
rename to src/gpu/heterosync/src/hipLocksBarrierFast.h
diff --git a/src/heterosync/src/hipLocksImpl.h b/src/gpu/heterosync/src/hipLocksImpl.h
similarity index 100%
rename from src/heterosync/src/hipLocksImpl.h
rename to src/gpu/heterosync/src/hipLocksImpl.h
diff --git a/src/heterosync/src/hipLocksMutex.h b/src/gpu/heterosync/src/hipLocksMutex.h
similarity index 100%
rename from src/heterosync/src/hipLocksMutex.h
rename to src/gpu/heterosync/src/hipLocksMutex.h
diff --git a/src/heterosync/src/hipLocksMutexEBO.h b/src/gpu/heterosync/src/hipLocksMutexEBO.h
similarity index 100%
rename from src/heterosync/src/hipLocksMutexEBO.h
rename to src/gpu/heterosync/src/hipLocksMutexEBO.h
diff --git a/src/heterosync/src/hipLocksMutexFA.h b/src/gpu/heterosync/src/hipLocksMutexFA.h
similarity index 100%
rename from src/heterosync/src/hipLocksMutexFA.h
rename to src/gpu/heterosync/src/hipLocksMutexFA.h
diff --git a/src/heterosync/src/hipLocksMutexSleep.h b/src/gpu/heterosync/src/hipLocksMutexSleep.h
similarity index 100%
rename from src/heterosync/src/hipLocksMutexSleep.h
rename to src/gpu/heterosync/src/hipLocksMutexSleep.h
diff --git a/src/heterosync/src/hipLocksMutexSpin.h b/src/gpu/heterosync/src/hipLocksMutexSpin.h
similarity index 100%
rename from src/heterosync/src/hipLocksMutexSpin.h
rename to src/gpu/heterosync/src/hipLocksMutexSpin.h
diff --git a/src/heterosync/src/hipLocksSemaphore.h b/src/gpu/heterosync/src/hipLocksSemaphore.h
similarity index 100%
rename from src/heterosync/src/hipLocksSemaphore.h
rename to src/gpu/heterosync/src/hipLocksSemaphore.h
diff --git a/src/heterosync/src/hipLocksSemaphoreEBO.h b/src/gpu/heterosync/src/hipLocksSemaphoreEBO.h
similarity index 100%
rename from src/heterosync/src/hipLocksSemaphoreEBO.h
rename to src/gpu/heterosync/src/hipLocksSemaphoreEBO.h
diff --git a/src/heterosync/src/hipLocksSemaphoreSpin.h b/src/gpu/heterosync/src/hipLocksSemaphoreSpin.h
similarity index 100%
rename from src/heterosync/src/hipLocksSemaphoreSpin.h
rename to src/gpu/heterosync/src/hipLocksSemaphoreSpin.h
diff --git a/src/heterosync/src/hip_error.h b/src/gpu/heterosync/src/hip_error.h
similarity index 100%
rename from src/heterosync/src/hip_error.h
rename to src/gpu/heterosync/src/hip_error.h
diff --git a/src/heterosync/src/main.hip.cpp b/src/gpu/heterosync/src/main.hip.cpp
similarity index 100%
rename from src/heterosync/src/main.hip.cpp
rename to src/gpu/heterosync/src/main.hip.cpp
diff --git a/src/heterosync/src/syncPrims_results.sh b/src/gpu/heterosync/src/syncPrims_results.sh
similarity index 100%
rename from src/heterosync/src/syncPrims_results.sh
rename to src/gpu/heterosync/src/syncPrims_results.sh
diff --git a/src/hip-samples/.gitignore b/src/gpu/hip-samples/.gitignore
similarity index 100%
rename from src/hip-samples/.gitignore
rename to src/gpu/hip-samples/.gitignore
diff --git a/src/hip-samples/Makefile b/src/gpu/hip-samples/Makefile
similarity index 100%
rename from src/hip-samples/Makefile
rename to src/gpu/hip-samples/Makefile
diff --git a/src/hip-samples/src/2dshfl.cpp b/src/gpu/hip-samples/src/2dshfl.cpp
similarity index 100%
rename from src/hip-samples/src/2dshfl.cpp
rename to src/gpu/hip-samples/src/2dshfl.cpp
diff --git a/src/hip-samples/src/MatrixTranspose.cpp b/src/gpu/hip-samples/src/MatrixTranspose.cpp
similarity index 100%
rename from src/hip-samples/src/MatrixTranspose.cpp
rename to src/gpu/hip-samples/src/MatrixTranspose.cpp
diff --git a/src/hip-samples/src/dynamic_shared.cpp b/src/gpu/hip-samples/src/dynamic_shared.cpp
similarity index 100%
rename from src/hip-samples/src/dynamic_shared.cpp
rename to src/gpu/hip-samples/src/dynamic_shared.cpp
diff --git a/src/hip-samples/src/inline_asm.cpp b/src/gpu/hip-samples/src/inline_asm.cpp
similarity index 100%
rename from src/hip-samples/src/inline_asm.cpp
rename to src/gpu/hip-samples/src/inline_asm.cpp
diff --git a/src/hip-samples/src/sharedMemory.cpp b/src/gpu/hip-samples/src/sharedMemory.cpp
similarity index 100%
rename from src/hip-samples/src/sharedMemory.cpp
rename to src/gpu/hip-samples/src/sharedMemory.cpp
diff --git a/src/hip-samples/src/shfl.cpp b/src/gpu/hip-samples/src/shfl.cpp
similarity index 100%
rename from src/hip-samples/src/shfl.cpp
rename to src/gpu/hip-samples/src/shfl.cpp
diff --git a/src/hip-samples/src/stream.cpp b/src/gpu/hip-samples/src/stream.cpp
similarity index 100%
rename from src/hip-samples/src/stream.cpp
rename to src/gpu/hip-samples/src/stream.cpp
diff --git a/src/hip-samples/src/unroll.cpp b/src/gpu/hip-samples/src/unroll.cpp
similarity index 100%
rename from src/hip-samples/src/unroll.cpp
rename to src/gpu/hip-samples/src/unroll.cpp
diff --git a/src/hsa-agent-pkt/HSA_Interface.cpp b/src/gpu/hsa-agent-pkt/HSA_Interface.cpp
similarity index 100%
rename from src/hsa-agent-pkt/HSA_Interface.cpp
rename to src/gpu/hsa-agent-pkt/HSA_Interface.cpp
diff --git a/src/hsa-agent-pkt/HSA_Interface.h b/src/gpu/hsa-agent-pkt/HSA_Interface.h
similarity index 100%
rename from src/hsa-agent-pkt/HSA_Interface.h
rename to src/gpu/hsa-agent-pkt/HSA_Interface.h
diff --git a/src/hsa-agent-pkt/Makefile b/src/gpu/hsa-agent-pkt/Makefile
similarity index 100%
rename from src/hsa-agent-pkt/Makefile
rename to src/gpu/hsa-agent-pkt/Makefile
diff --git a/src/hsa-agent-pkt/square.cpp b/src/gpu/hsa-agent-pkt/square.cpp
similarity index 100%
rename from src/hsa-agent-pkt/square.cpp
rename to src/gpu/hsa-agent-pkt/square.cpp
diff --git a/src/lulesh/.gitignore b/src/gpu/lulesh/.gitignore
similarity index 100%
rename from src/lulesh/.gitignore
rename to src/gpu/lulesh/.gitignore
diff --git a/src/lulesh/Makefile b/src/gpu/lulesh/Makefile
similarity index 100%
rename from src/lulesh/Makefile
rename to src/gpu/lulesh/Makefile
diff --git a/src/lulesh/src/lulesh.hip.cc b/src/gpu/lulesh/src/lulesh.hip.cc
similarity index 100%
rename from src/lulesh/src/lulesh.hip.cc
rename to src/gpu/lulesh/src/lulesh.hip.cc
diff --git a/src/pennant/.gitignore b/src/gpu/pennant/.gitignore
similarity index 100%
rename from src/pennant/.gitignore
rename to src/gpu/pennant/.gitignore
diff --git a/src/pennant/LICENSE b/src/gpu/pennant/LICENSE
similarity index 100%
rename from src/pennant/LICENSE
rename to src/gpu/pennant/LICENSE
diff --git a/src/pennant/Makefile b/src/gpu/pennant/Makefile
similarity index 100%
rename from src/pennant/Makefile
rename to src/gpu/pennant/Makefile
diff --git a/src/pennant/README b/src/gpu/pennant/README
similarity index 100%
rename from src/pennant/README
rename to src/gpu/pennant/README
diff --git a/src/pennant/doc/mesh-entities.png b/src/gpu/pennant/doc/mesh-entities.png
similarity index 100%
rename from src/pennant/doc/mesh-entities.png
rename to src/gpu/pennant/doc/mesh-entities.png
Binary files differ
diff --git a/src/pennant/doc/noh-result.png b/src/gpu/pennant/doc/noh-result.png
similarity index 100%
rename from src/pennant/doc/noh-result.png
rename to src/gpu/pennant/doc/noh-result.png
Binary files differ
diff --git a/src/pennant/doc/pennantdoc.pdf b/src/gpu/pennant/doc/pennantdoc.pdf
similarity index 100%
rename from src/pennant/doc/pennantdoc.pdf
rename to src/gpu/pennant/doc/pennantdoc.pdf
Binary files differ
diff --git a/src/pennant/doc/pennantdoc.tex b/src/gpu/pennant/doc/pennantdoc.tex
similarity index 100%
rename from src/pennant/doc/pennantdoc.tex
rename to src/gpu/pennant/doc/pennantdoc.tex
diff --git a/src/pennant/doc/sedov-result.png b/src/gpu/pennant/doc/sedov-result.png
similarity index 100%
rename from src/pennant/doc/sedov-result.png
rename to src/gpu/pennant/doc/sedov-result.png
Binary files differ
diff --git a/src/pennant/doc/side-maps.png b/src/gpu/pennant/doc/side-maps.png
similarity index 100%
rename from src/pennant/doc/side-maps.png
rename to src/gpu/pennant/doc/side-maps.png
Binary files differ
diff --git a/src/pennant/src/Driver.cc b/src/gpu/pennant/src/Driver.cc
similarity index 100%
rename from src/pennant/src/Driver.cc
rename to src/gpu/pennant/src/Driver.cc
diff --git a/src/pennant/src/Driver.hh b/src/gpu/pennant/src/Driver.hh
similarity index 100%
rename from src/pennant/src/Driver.hh
rename to src/gpu/pennant/src/Driver.hh
diff --git a/src/pennant/src/ExportGold.cc b/src/gpu/pennant/src/ExportGold.cc
similarity index 100%
rename from src/pennant/src/ExportGold.cc
rename to src/gpu/pennant/src/ExportGold.cc
diff --git a/src/pennant/src/ExportGold.hh b/src/gpu/pennant/src/ExportGold.hh
similarity index 100%
rename from src/pennant/src/ExportGold.hh
rename to src/gpu/pennant/src/ExportGold.hh
diff --git a/src/pennant/src/GenMesh.cc b/src/gpu/pennant/src/GenMesh.cc
similarity index 100%
rename from src/pennant/src/GenMesh.cc
rename to src/gpu/pennant/src/GenMesh.cc
diff --git a/src/pennant/src/GenMesh.hh b/src/gpu/pennant/src/GenMesh.hh
similarity index 100%
rename from src/pennant/src/GenMesh.hh
rename to src/gpu/pennant/src/GenMesh.hh
diff --git a/src/pennant/src/Hydro.cc b/src/gpu/pennant/src/Hydro.cc
similarity index 100%
rename from src/pennant/src/Hydro.cc
rename to src/gpu/pennant/src/Hydro.cc
diff --git a/src/pennant/src/Hydro.hh b/src/gpu/pennant/src/Hydro.hh
similarity index 100%
rename from src/pennant/src/Hydro.hh
rename to src/gpu/pennant/src/Hydro.hh
diff --git a/src/pennant/src/HydroBC.cc b/src/gpu/pennant/src/HydroBC.cc
similarity index 100%
rename from src/pennant/src/HydroBC.cc
rename to src/gpu/pennant/src/HydroBC.cc
diff --git a/src/pennant/src/HydroBC.hh b/src/gpu/pennant/src/HydroBC.hh
similarity index 100%
rename from src/pennant/src/HydroBC.hh
rename to src/gpu/pennant/src/HydroBC.hh
diff --git a/src/pennant/src/HydroGPU.cxx b/src/gpu/pennant/src/HydroGPU.cxx
similarity index 100%
rename from src/pennant/src/HydroGPU.cxx
rename to src/gpu/pennant/src/HydroGPU.cxx
diff --git a/src/pennant/src/HydroGPU.hh b/src/gpu/pennant/src/HydroGPU.hh
similarity index 100%
rename from src/pennant/src/HydroGPU.hh
rename to src/gpu/pennant/src/HydroGPU.hh
diff --git a/src/pennant/src/ImportGMV.cc b/src/gpu/pennant/src/ImportGMV.cc
similarity index 100%
rename from src/pennant/src/ImportGMV.cc
rename to src/gpu/pennant/src/ImportGMV.cc
diff --git a/src/pennant/src/ImportGMV.hh b/src/gpu/pennant/src/ImportGMV.hh
similarity index 100%
rename from src/pennant/src/ImportGMV.hh
rename to src/gpu/pennant/src/ImportGMV.hh
diff --git a/src/pennant/src/InputFile.cc b/src/gpu/pennant/src/InputFile.cc
similarity index 100%
rename from src/pennant/src/InputFile.cc
rename to src/gpu/pennant/src/InputFile.cc
diff --git a/src/pennant/src/InputFile.hh b/src/gpu/pennant/src/InputFile.hh
similarity index 100%
rename from src/pennant/src/InputFile.hh
rename to src/gpu/pennant/src/InputFile.hh
diff --git a/src/pennant/src/Memory.hh b/src/gpu/pennant/src/Memory.hh
similarity index 100%
rename from src/pennant/src/Memory.hh
rename to src/gpu/pennant/src/Memory.hh
diff --git a/src/pennant/src/Mesh.cc b/src/gpu/pennant/src/Mesh.cc
similarity index 100%
rename from src/pennant/src/Mesh.cc
rename to src/gpu/pennant/src/Mesh.cc
diff --git a/src/pennant/src/Mesh.hh b/src/gpu/pennant/src/Mesh.hh
similarity index 100%
rename from src/pennant/src/Mesh.hh
rename to src/gpu/pennant/src/Mesh.hh
diff --git a/src/pennant/src/Parallel.cc b/src/gpu/pennant/src/Parallel.cc
similarity index 100%
rename from src/pennant/src/Parallel.cc
rename to src/gpu/pennant/src/Parallel.cc
diff --git a/src/pennant/src/Parallel.hh b/src/gpu/pennant/src/Parallel.hh
similarity index 100%
rename from src/pennant/src/Parallel.hh
rename to src/gpu/pennant/src/Parallel.hh
diff --git a/src/pennant/src/PolyGas.cc b/src/gpu/pennant/src/PolyGas.cc
similarity index 100%
rename from src/pennant/src/PolyGas.cc
rename to src/gpu/pennant/src/PolyGas.cc
diff --git a/src/pennant/src/PolyGas.hh b/src/gpu/pennant/src/PolyGas.hh
similarity index 100%
rename from src/pennant/src/PolyGas.hh
rename to src/gpu/pennant/src/PolyGas.hh
diff --git a/src/pennant/src/QCS.cc b/src/gpu/pennant/src/QCS.cc
similarity index 100%
rename from src/pennant/src/QCS.cc
rename to src/gpu/pennant/src/QCS.cc
diff --git a/src/pennant/src/QCS.hh b/src/gpu/pennant/src/QCS.hh
similarity index 100%
rename from src/pennant/src/QCS.hh
rename to src/gpu/pennant/src/QCS.hh
diff --git a/src/pennant/src/TTS.cc b/src/gpu/pennant/src/TTS.cc
similarity index 100%
rename from src/pennant/src/TTS.cc
rename to src/gpu/pennant/src/TTS.cc
diff --git a/src/pennant/src/TTS.hh b/src/gpu/pennant/src/TTS.hh
similarity index 100%
rename from src/pennant/src/TTS.hh
rename to src/gpu/pennant/src/TTS.hh
diff --git a/src/pennant/src/Vec2.hh b/src/gpu/pennant/src/Vec2.hh
similarity index 100%
rename from src/pennant/src/Vec2.hh
rename to src/gpu/pennant/src/Vec2.hh
diff --git a/src/pennant/src/WriteXY.cc b/src/gpu/pennant/src/WriteXY.cc
similarity index 100%
rename from src/pennant/src/WriteXY.cc
rename to src/gpu/pennant/src/WriteXY.cc
diff --git a/src/pennant/src/WriteXY.hh b/src/gpu/pennant/src/WriteXY.hh
similarity index 100%
rename from src/pennant/src/WriteXY.hh
rename to src/gpu/pennant/src/WriteXY.hh
diff --git a/src/pennant/src/main.cc b/src/gpu/pennant/src/main.cc
similarity index 100%
rename from src/pennant/src/main.cc
rename to src/gpu/pennant/src/main.cc
diff --git a/src/pennant/test/leblanc/leblanc.pnt b/src/gpu/pennant/test/leblanc/leblanc.pnt
similarity index 100%
rename from src/pennant/test/leblanc/leblanc.pnt
rename to src/gpu/pennant/test/leblanc/leblanc.pnt
diff --git a/src/pennant/test/leblanc/leblanc.xy.std b/src/gpu/pennant/test/leblanc/leblanc.xy.std
similarity index 100%
rename from src/pennant/test/leblanc/leblanc.xy.std
rename to src/gpu/pennant/test/leblanc/leblanc.xy.std
diff --git a/src/pennant/test/leblanc/rect10x90.gmv b/src/gpu/pennant/test/leblanc/rect10x90.gmv
similarity index 100%
rename from src/pennant/test/leblanc/rect10x90.gmv
rename to src/gpu/pennant/test/leblanc/rect10x90.gmv
diff --git a/src/pennant/test/leblancbig/leblancbig.pnt b/src/gpu/pennant/test/leblancbig/leblancbig.pnt
similarity index 100%
rename from src/pennant/test/leblancbig/leblancbig.pnt
rename to src/gpu/pennant/test/leblancbig/leblancbig.pnt
diff --git a/src/pennant/test/leblancbig/rect80x720.gmv b/src/gpu/pennant/test/leblancbig/rect80x720.gmv
similarity index 100%
rename from src/pennant/test/leblancbig/rect80x720.gmv
rename to src/gpu/pennant/test/leblancbig/rect80x720.gmv
diff --git a/src/pennant/test/noh/noh.pnt b/src/gpu/pennant/test/noh/noh.pnt
similarity index 100%
rename from src/pennant/test/noh/noh.pnt
rename to src/gpu/pennant/test/noh/noh.pnt
diff --git a/src/pennant/test/noh/noh.xy.std b/src/gpu/pennant/test/noh/noh.xy.std
similarity index 100%
rename from src/pennant/test/noh/noh.xy.std
rename to src/gpu/pennant/test/noh/noh.xy.std
diff --git a/src/pennant/test/nohpoly/hex150x150.gmv b/src/gpu/pennant/test/nohpoly/hex150x150.gmv
similarity index 100%
rename from src/pennant/test/nohpoly/hex150x150.gmv
rename to src/gpu/pennant/test/nohpoly/hex150x150.gmv
diff --git a/src/pennant/test/nohpoly/nohpoly.pnt b/src/gpu/pennant/test/nohpoly/nohpoly.pnt
similarity index 100%
rename from src/pennant/test/nohpoly/nohpoly.pnt
rename to src/gpu/pennant/test/nohpoly/nohpoly.pnt
diff --git a/src/pennant/test/nohsmall/nohsmall.pnt b/src/gpu/pennant/test/nohsmall/nohsmall.pnt
similarity index 100%
rename from src/pennant/test/nohsmall/nohsmall.pnt
rename to src/gpu/pennant/test/nohsmall/nohsmall.pnt
diff --git a/src/pennant/test/nohsmall/nohsmall.xy.std b/src/gpu/pennant/test/nohsmall/nohsmall.xy.std
similarity index 100%
rename from src/pennant/test/nohsmall/nohsmall.xy.std
rename to src/gpu/pennant/test/nohsmall/nohsmall.xy.std
diff --git a/src/pennant/test/nohsmall/radial2x20.gmv b/src/gpu/pennant/test/nohsmall/radial2x20.gmv
similarity index 100%
rename from src/pennant/test/nohsmall/radial2x20.gmv
rename to src/gpu/pennant/test/nohsmall/radial2x20.gmv
diff --git a/src/pennant/test/nohsquare/nohsquare.pnt b/src/gpu/pennant/test/nohsquare/nohsquare.pnt
similarity index 100%
rename from src/pennant/test/nohsquare/nohsquare.pnt
rename to src/gpu/pennant/test/nohsquare/nohsquare.pnt
diff --git a/src/pennant/test/nohsquare/square180x180.gmv b/src/gpu/pennant/test/nohsquare/square180x180.gmv
similarity index 100%
rename from src/pennant/test/nohsquare/square180x180.gmv
rename to src/gpu/pennant/test/nohsquare/square180x180.gmv
diff --git a/src/pennant/test/sedov/sedov.pnt b/src/gpu/pennant/test/sedov/sedov.pnt
similarity index 100%
rename from src/pennant/test/sedov/sedov.pnt
rename to src/gpu/pennant/test/sedov/sedov.pnt
diff --git a/src/pennant/test/sedov/sedov.xy.std b/src/gpu/pennant/test/sedov/sedov.xy.std
similarity index 100%
rename from src/pennant/test/sedov/sedov.xy.std
rename to src/gpu/pennant/test/sedov/sedov.xy.std
diff --git a/src/pennant/test/sedov/square45x45.gmv b/src/gpu/pennant/test/sedov/square45x45.gmv
similarity index 100%
rename from src/pennant/test/sedov/square45x45.gmv
rename to src/gpu/pennant/test/sedov/square45x45.gmv
diff --git a/src/pennant/test/sedovbig/sedovbig.pnt b/src/gpu/pennant/test/sedovbig/sedovbig.pnt
similarity index 100%
rename from src/pennant/test/sedovbig/sedovbig.pnt
rename to src/gpu/pennant/test/sedovbig/sedovbig.pnt
diff --git a/src/pennant/test/sedovbig/square270x270.gmv b/src/gpu/pennant/test/sedovbig/square270x270.gmv
similarity index 100%
rename from src/pennant/test/sedovbig/square270x270.gmv
rename to src/gpu/pennant/test/sedovbig/square270x270.gmv
diff --git a/src/pennant/test/sedovsmall/sedovsmall.pnt b/src/gpu/pennant/test/sedovsmall/sedovsmall.pnt
similarity index 100%
rename from src/pennant/test/sedovsmall/sedovsmall.pnt
rename to src/gpu/pennant/test/sedovsmall/sedovsmall.pnt
diff --git a/src/pennant/test/sedovsmall/sedovsmall.xy.std b/src/gpu/pennant/test/sedovsmall/sedovsmall.xy.std
similarity index 100%
rename from src/pennant/test/sedovsmall/sedovsmall.xy.std
rename to src/gpu/pennant/test/sedovsmall/sedovsmall.xy.std
diff --git a/src/pennant/test/sedovsmall/square9x9.gmv b/src/gpu/pennant/test/sedovsmall/square9x9.gmv
similarity index 100%
rename from src/pennant/test/sedovsmall/square9x9.gmv
rename to src/gpu/pennant/test/sedovsmall/square9x9.gmv
diff --git a/src/pennant/tools/gmvrect.py b/src/gpu/pennant/tools/gmvrect.py
similarity index 100%
rename from src/pennant/tools/gmvrect.py
rename to src/gpu/pennant/tools/gmvrect.py
diff --git a/src/square/.gitignore b/src/gpu/square/.gitignore
similarity index 100%
rename from src/square/.gitignore
rename to src/gpu/square/.gitignore
diff --git a/src/square/Makefile b/src/gpu/square/Makefile
similarity index 100%
rename from src/square/Makefile
rename to src/gpu/square/Makefile
diff --git a/src/square/README.md b/src/gpu/square/README.md
similarity index 98%
rename from src/square/README.md
rename to src/gpu/square/README.md
index 9d366e1..53db8c0 100644
--- a/src/square/README.md
+++ b/src/gpu/square/README.md
@@ -16,7 +16,7 @@
 ## Compiling Square
 
 ```
-cd src/square
+cd src/gpu/square
 docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu make gfx8-apu
 ```
 
diff --git a/src/square/square.cpp b/src/gpu/square/square.cpp
similarity index 100%
rename from src/square/square.cpp
rename to src/gpu/square/square.cpp