3 # Copyright (c) 2015-2018 Advanced Micro Devices, Inc.
6 # For use for simulation and test purposes only
8 # Redistribution and use in source and binary forms, with or without
9 # modification, are permitted provided that the following conditions are met:
11 # 1. Redistributions of source code must retain the above copyright notice,
12 # this list of conditions and the following disclaimer.
14 # 2. Redistributions in binary form must reproduce the above copyright notice,
15 # this list of conditions and the following disclaimer in the documentation
16 # and/or other materials provided with the distribution.
18 # 3. Neither the name of the copyright holder nor the names of its
19 # contributors may be used to endorse or promote products derived from this
20 # software without specific prior written permission.
22 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
26 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 # POSSIBILITY OF SUCH DAMAGE.
36 if not env['BUILD_GPU']:
40 SimObject('GPUStaticInstFlags.py')
41 SimObject('LdsState.py')
42 SimObject('X86GPUTLB.py')
45 Source('compute_unit.cc')
46 Source('dispatcher.cc')
47 Source('exec_stage.cc')
48 Source('fetch_stage.cc')
49 Source('fetch_unit.cc')
50 Source('global_memory_pipeline.cc')
51 Source('gpu_command_processor.cc')
52 Source('gpu_compute_driver.cc')
53 Source('gpu_dyn_inst.cc')
54 Source('gpu_exec_context.cc')
55 Source('gpu_static_inst.cc')
57 Source('lds_state.cc')
58 Source('local_memory_pipeline.cc')
59 Source('pool_manager.cc')
60 Source('register_file.cc')
61 Source('register_manager.cc')
62 Source('scalar_memory_pipeline.cc')
63 Source('scalar_register_file.cc')
64 Source('schedule_stage.cc')
65 Source('scheduler.cc')
66 Source('scoreboard_check_stage.cc')
68 Source('simple_pool_manager.cc')
69 Source('static_register_manager_policy.cc')
70 Source('tlb_coalescer.cc')
71 Source('vector_register_file.cc')
72 Source('wavefront.cc')
74 DebugFlag('GPUCoalescer')
75 DebugFlag('GPUCommandProc')
76 DebugFlag('GPUDriver')
77 DebugFlag('GPUInitAbi')
81 DebugFlag('GPUKernelInfo')
84 DebugFlag('GPUPrefetch')
86 DebugFlag('GPURename')
88 DebugFlag('GPURfState')
90 DebugFlag('GPUShader')
95 DebugFlag('GPUVRFSched')
96 DebugFlag('GPUWgLatency')
97 DebugFlag('Predictor')
98 DebugFlag('WavefrontStack')
100 CompoundFlag('GPUALL', ['GPUCoalescer', 'GPUDisp', 'GPUExec', 'GPUFetch',
101 'GPUMem', 'GPUPort', 'GPUSched', 'GPUSRF', 'GPUSync',
102 'GPUTLB', 'GPUVRF', 'GPUWgLatency', 'GPUKernelInfo',