summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configs/GTX480/gpgpusim.config3
-rw-r--r--configs/GeForceGTX1080Ti/gpgpusim.config3
-rw-r--r--configs/GeForceGTX750Ti/gpgpusim.config3
-rw-r--r--configs/QuadroFX5600/gpgpusim.config3
-rw-r--r--configs/QuadroFX5800/gpgpusim.config3
-rw-r--r--configs/TeslaC2050/gpgpusim.config3
-rw-r--r--libcuda/cuda_runtime_api.cc27
-rw-r--r--src/gpgpu-sim/gpu-sim.cc8
-rw-r--r--src/gpgpu-sim/gpu-sim.h1
-rw-r--r--src/gpgpu-sim/shader.h1
10 files changed, 36 insertions, 19 deletions
diff --git a/configs/GTX480/gpgpusim.config b/configs/GTX480/gpgpusim.config
index 436cb41..580929f 100644
--- a/configs/GTX480/gpgpusim.config
+++ b/configs/GTX480/gpgpusim.config
@@ -1,3 +1,6 @@
+#Save the cuobjdump dump
+#-save_embedded_ptx 1
+
# functional simulator specification
-gpgpu_ptx_instruction_classification 0
-gpgpu_ptx_sim_mode 0
diff --git a/configs/GeForceGTX1080Ti/gpgpusim.config b/configs/GeForceGTX1080Ti/gpgpusim.config
index a5ada34..6d8b43a 100644
--- a/configs/GeForceGTX1080Ti/gpgpusim.config
+++ b/configs/GeForceGTX1080Ti/gpgpusim.config
@@ -1,5 +1,8 @@
# This config models the Pascal GP102 (GeForceGTX 1080Ti)
+#Save the cuobjdump dump
+#-save_embedded_ptx 1
+
# functional simulator specification
-gpgpu_ptx_instruction_classification 0
-gpgpu_ptx_sim_mode 0
diff --git a/configs/GeForceGTX750Ti/gpgpusim.config b/configs/GeForceGTX750Ti/gpgpusim.config
index 8b030b6..b6870b0 100644
--- a/configs/GeForceGTX750Ti/gpgpusim.config
+++ b/configs/GeForceGTX750Ti/gpgpusim.config
@@ -1,3 +1,6 @@
+#Save the cuobjdump dump
+#-save_embedded_ptx 1
+
# functional simulator specification
-gpgpu_ptx_instruction_classification 0
-gpgpu_ptx_sim_mode 0
diff --git a/configs/QuadroFX5600/gpgpusim.config b/configs/QuadroFX5600/gpgpusim.config
index cb87b65..6f6e032 100644
--- a/configs/QuadroFX5600/gpgpusim.config
+++ b/configs/QuadroFX5600/gpgpusim.config
@@ -1,3 +1,6 @@
+#Save the cuobjdump dump
+#-save_embedded_ptx 1
+
# functional simulator specification
-gpgpu_ptx_instruction_classification 0
-gpgpu_ptx_sim_mode 0
diff --git a/configs/QuadroFX5800/gpgpusim.config b/configs/QuadroFX5800/gpgpusim.config
index 82243c2..77d9c6d 100644
--- a/configs/QuadroFX5800/gpgpusim.config
+++ b/configs/QuadroFX5800/gpgpusim.config
@@ -1,3 +1,6 @@
+#Save the cuobjdump dump
+#-save_embedded_ptx 1
+
# functional simulator specification
-gpgpu_ptx_instruction_classification 0
-gpgpu_ptx_sim_mode 0
diff --git a/configs/TeslaC2050/gpgpusim.config b/configs/TeslaC2050/gpgpusim.config
index 442ab8b..480aaa4 100644
--- a/configs/TeslaC2050/gpgpusim.config
+++ b/configs/TeslaC2050/gpgpusim.config
@@ -1,3 +1,6 @@
+#Save the cuobjdump dump
+#-save_embedded_ptx 1
+
# functional simulator specification
-gpgpu_ptx_instruction_classification 0
-gpgpu_ptx_sim_mode 0
diff --git a/libcuda/cuda_runtime_api.cc b/libcuda/cuda_runtime_api.cc
index ef46f00..e3c2542 100644
--- a/libcuda/cuda_runtime_api.cc
+++ b/libcuda/cuda_runtime_api.cc
@@ -349,24 +349,13 @@ class _cuda_device_id *GPGPUSim_Init()
prop->maxGridSize[2] = 0x40000000;
prop->totalConstMem = 0x40000000;
prop->textureAlignment = 0;
- /*
-
- * TODO: Update the .config and xml files of all GPU config files with new value of sharedMemPerBlock.
-
- * Previously, this was thought as sharedMemPerMultiprocessor and is being used in many places.
-
- * Check whether all the instances of shared_mem_size(), gpgpu_shmem_size or sharedMemPerBlock are meant to use sharedMemPerBlock or sharedMemPerMultiprocessor.
-
- */
-
- prop->sharedMemPerBlock = the_gpu->shared_mem_per_block();
-
- #if (CUDART_VERSION > 5000)
-
- prop->sharedMemPerMultiprocessor = the_gpu->shared_mem_size();
-
- #endif
-
+// * TODO: Update the .config and xml files of all GPU config files with new value of sharedMemPerBlock and regsPerBlock
+ prop->sharedMemPerBlock = the_gpu->shared_mem_per_block();
+#if (CUDART_VERSION > 5000)
+ prop->regsPerMultiprocessor = the_gpu->num_registers_per_core();
+ prop->sharedMemPerMultiprocessor = the_gpu->shared_mem_size();
+#endif
+ prop->sharedMemPerBlock = the_gpu->shared_mem_per_block();
prop->regsPerBlock = the_gpu->num_registers_per_core();
prop->warpSize = the_gpu->wrp_size();
prop->clockRate = the_gpu->shader_clock();
@@ -912,7 +901,7 @@ __host__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDevic
*value= prop->sharedMemPerMultiprocessor;
break;
case 82:
- *value= prop->regsPerBlock;
+ *value= prop->regsPerMultiprocessor;
break;
default:
printf("ERROR: Attribute number %d unimplemented \n",attr);
diff --git a/src/gpgpu-sim/gpu-sim.cc b/src/gpgpu-sim/gpu-sim.cc
index 892b245..d0b362f 100644
--- a/src/gpgpu-sim/gpu-sim.cc
+++ b/src/gpgpu-sim/gpu-sim.cc
@@ -256,6 +256,9 @@ void shader_core_config::reg_options(class OptionParser * opp)
option_parser_register(opp, "-gpgpu_shader_registers", OPT_UINT32, &gpgpu_shader_registers,
"Number of registers per shader core. Limits number of concurrent CTAs. (default 8192)",
"8192");
+ option_parser_register(opp, "-gpgpu_registers_per_block", OPT_UINT32, &gpgpu_registers_per_block,
+ "Maximum number of registers per CTA. (default 8192)",
+ "8192");
option_parser_register(opp, "-gpgpu_shader_cta", OPT_UINT32, &max_cta_per_core,
"Maximum number of concurrent CTAs in shader (default 8)",
"8");
@@ -683,6 +686,11 @@ int gpgpu_sim::num_registers_per_core() const
return m_shader_config->gpgpu_shader_registers;
}
+int gpgpu_sim::num_registers_per_block() const
+{
+ return m_shader_config->gpgpu_registers_per_block;
+}
+
int gpgpu_sim::wrp_size() const
{
return m_shader_config->warp_size;
diff --git a/src/gpgpu-sim/gpu-sim.h b/src/gpgpu-sim/gpu-sim.h
index 8d1c4fc..5908fd5 100644
--- a/src/gpgpu-sim/gpu-sim.h
+++ b/src/gpgpu-sim/gpu-sim.h
@@ -391,6 +391,7 @@ public:
int shared_mem_size() const;
int shared_mem_per_block() const;
int num_registers_per_core() const;
+ int num_registers_per_block() const;
int wrp_size() const;
int shader_clock() const;
const struct cudaDeviceProp *get_prop() const;
diff --git a/src/gpgpu-sim/shader.h b/src/gpgpu-sim/shader.h
index fbddd18..6201840 100644
--- a/src/gpgpu-sim/shader.h
+++ b/src/gpgpu-sim/shader.h
@@ -1286,6 +1286,7 @@ struct shader_core_config : public core_config
unsigned max_barriers_per_cta;
char * gpgpu_scheduler_string;
unsigned gpgpu_shmem_per_block;
+ unsigned gpgpu_registers_per_block;
char* pipeline_widths_string;
int pipe_widths[N_PIPELINE_STAGES];