summaryrefslogtreecommitdiff
path: root/libopencl
AgeCommit message (Collapse)Author
2024-04-04Migrate gpgpu-sim build system to cmake (#66)WilliamMTK
* migrate_cmake: add package dependency checking * migrate_cmake: port setup_environment to CMake * migrate_cmake: break dependency checking and env export gen to different .cmake files * migrate_cmake: use CUDAToolkit_FOUND to test for CUDA compiler * migrate_cmake: use CUDAToolkit_FOUND to test for CUDA compiler * migrate_cmake: use CUDAToolkit_FOUND to test for CUDA compiler * migrate_cmake: properly parse for cuda version number * migrate_cmake: set highest CUDA supported to be 11.10.x * migrate_cmake: specify top level CMake file * migrate_cmake: add libcuda cmake file * migrate_cmake: use global compiler options and definitions * migrate_cmake: add cmake file to src * migrate_cmake: add cmake files for cuda-sim folder * migrate_cmake: add cmake files to gpgpu-sim folder * migrate_cmake: add cmake files for intersim * migrate_cmake: add short test using cmake * migrate_cmake: bump CXX standard requirement to 17 * Add cmake files for accelwattch * migrate_cmake: remove use of GLOB to grab source files * migrate_cmake: comment out the write protection on generated instructions.h * migrate_cmake: create sym folder and add newline to generated setup file * migrate_cmake: fix some path issues * migrate_cmake: let cmake thinks flex and bison generate CXX files * migrate_cmake: fix not linking pthread properly * migrate_cmake: remove debug message * migrate_cmake: add empty libopencl cmake file * migrate_cmake: install phase and runtime version detect * Added install phase to install the shared object and add symlinks * Changes with CUDA toolkit will be detected and triggered a rebuild * GPGPU-Sim detailed version string will be updated on each build * Typo fix and fix correct bin dir * Replace gcc -> g++ in intersim * ignore setup * check CMAKE_BUILD_TYPE * set DCMAKE_BUILD_TYPE --------- Co-authored-by: JRPAN <[email protected]>
2020-04-07Merge remote-tracking branch 'localpub/dev' into devtgrogers
2019-10-17libopencl: Calculate a valid offset in bind_args()Roy Spliet
v2: Adhere to alignment requirements. v3: Small style fix. Signed-off-by: Roy Spliet <[email protected]>
2019-10-17libopencl: Perform PDOM analysisRoy Spliet
Signed-off-by: Roy Spliet <[email protected]>
2019-10-17libopencl: Stub clGetProgramBuildInfo()Roy Spliet
Assumes everything is ok, even if it isn't. Allows for some Rodinia benchmarks to fail slightly later. v2: Use available case macros. Signed-off-by: Roy Spliet <[email protected]>
2019-09-12Remove GPGPUsim_ctx_ptr()Mengchi Zhang
Signed-off-by: Mengchi Zhang <[email protected]>
2019-07-10Move g_globals and g_constantsMengchi Zhang
Signed-off-by: Mengchi Zhang <[email protected]>
2019-07-09Move g_ptx_sim_modeMengchi Zhang
Signed-off-by: Mengchi Zhang <[email protected]>
2019-07-09Move g_ptx_kernel_countMengchi Zhang
Signed-off-by: Mengchi Zhang <[email protected]>
2019-07-08Move cp_countMengchi Zhang
Signed-off-by: Mengchi Zhang <[email protected]>
2019-07-07g_keep_intermediate_filesMengchi Zhang
Signed-off-by: Mengchi Zhang <[email protected]>
2019-07-01Move g_debug_ir_generation and GPGPUSim_InitMengchi Zhang
Signed-off-by: Mengchi Zhang <[email protected]>
2019-06-12Integrate ptxinfo into gpgpu_contextMengchi Zhang
Signed-off-by: Mengchi Zhang <[email protected]>
2019-06-12Move some function from ptx_loader to gpgpu_contextMengchi Zhang
Signed-off-by: Mengchi Zhang <[email protected]>
2018-06-29Allowing modern GPU configrations to properly run PTXPLUS.tgrogers
There are several problems with this: 1) To get proper occupancy, based on register file usage, you must querry ptxas with the sm version that corresponds to the register usage in the config file. To enable this, a new config option has been added that determines what sm version you pass to ptxas to compute reg-usage. This configuration option is always required in the gpgpusim.config file 2) If you are running PTXPLUS with a modern card (i.e. volta/pascal), you need ptxas from CUDA 9.1. However since PTXPLUS only supports sm_13 - you need a version of CUDA where cudaobjectdump supports sm_1x. This ended at CUDA 5 - and PTXPLUS requires CUDA 4.2. Therefore, to run PTXPLUS on a modern card, you need CUDA 4.2 + modern CUDA installed. To fascilitate this, a new envronment varaible is added and the setup envrionment script prints an appropraite warning if you are using a newer CUDA. We have tried to make this as fail-proof as possible - and die appropraitely when something is wrong.
2016-10-31update opencl_runtime similar to cuda_runtimeAhmed ElTantawy
2016-05-15updating CHANGESAhmed ElTantawy
2014-08-14Forgot a file in CL 16503Tim Rogers
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 16505]
2014-08-14 Changing the make flow so all the generated files, both object and code ↵Tim Rogers
generated go in a directory independent of the source directory [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 16503]
2014-08-14fixing broken opencl regression from last regression (when the CreateKernel ↵Ahmed El-Shafiey
does not specify error pointer) [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15970]
2014-08-14Two small fixes in the OpenCL APIAhmed El-Shafiey
Review ID: 27001 [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15969]
2014-08-14Removing a slew of code still compiled with gcc and the need for a bunch of ↵Tim Rogers
external C linkage [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15912]
2014-08-14Fix for bug 53 and 54. Now clGetDeviceInfo() is returning CL_DEVICE_TYPE ↵Wilson Fung
property in the proper size. Also added code to determine the workgroup size automatically. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15798]
2014-08-14Fix for bug 51 and 55: Declaration of clCreateContextFromType() is updated ↵Wilson Fung
to match OpenCL 1.1 and later. The API call now accepts device types besides CL_DEVICE_TYPE_GPU. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15796]
2014-08-14 Fixing a slew of compiler warningsTim Rogers
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15218]
2014-08-14Apply patch from Kito Cheng to update libopencl for checking NULL error code ↵Wilson Fung
pointer. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15043]
2014-08-14nvopencl_wrapper now works on machine with both AMD and NVIDIA GPUs. It ↵Wilson Fung
will automatically compile the OpenCL kernels on the NVIDIA platform. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 14558]
2014-08-14OpenCL newer diver fixHadi Jooybar
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 14554]
2014-08-14Integrated in CL14390.Inderpreet Singh
Fixed clCreateProgramWithSource to accept NULL or 0 as string length parameter Fixed replacement of printf modifiers when compiling OpenCL code (e.g. '%f') [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 14391]
2014-08-14Fixing bad memory references in opencl based on some disconnect between what ↵Tim Rogers
the nvidia opencl wraper expects and what our opencl_runtime_api provides. This was causing us to print grabage in the dumped ptx files generated by calls to oclPtxLog and valgrind complains about it. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13837]
2014-08-14Integration from tm-311 branch. Adding support for atomic operation with ↵Wilson Fung
generic memory space. Also adding a define to allow support for OpenCL 1.0 commands that are deprecated in OpenCL 1.1. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13722]
2014-08-14Clean up the unordered_map fallback support.Wilson Fung
- Now there is only one macro for all use of unordered_map in the code. - Moving all instances of gcc/cuda version detection into a single file. - Adding a warning when the fallback is triggered. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13542]
2014-08-14Forgot to add the Makefile.makedepend rule in the opencl makefileAndrew M. B. Boktor
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13293]
2014-08-14Now makedepend doesn't have to interfere with our commits anymore.Andrew M. B. Boktor
makedepend generates the dependencies in Makefile.makedepend that is generated dynamically and cleaned with "make clean" Next step is to use gcc's "-M" option and get rid of makedepend altogether. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13292]
2014-08-14Fixing a bug in the opencl prebuilt ptx flow.Tim Rogers
If a kernel made modidifcations to the .cl code at runtime (like changed the block size or some other constants) then recompiled itself the saved_embedded_ptx would just get overwritten. Same on using the prebuilt ptx file - I always wanted to load the same ptx file even though there should have been more than one. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13217]
2014-08-14Using nvcc present in CUDA_INSTALL_PATH instead of the one in PATHAndrew M. B. Boktor
Adding -DCUDART_VERSION to CXXFLAGS [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12253]
2014-08-14This changelist implements the following:Andrew M. B. Boktor
1. Adds support for using cuobjdump for both ptx and ptxplus execution. This has been tested with CUDA 4.0 . Ptxplus is no longer supported through decuda/decuda_to_ptxplus 2. Adds support for converting the SASS output by cuobjdump to ptxplus. This has been tested with CUDA 4.0 . The old path that extracts ptx from cubin files is still preserved 3. Adds a bank group model. (WARNING: memory config has changed, please adapt yours). To disable the bank groups model, set nbkgrp to 1 and tCCDL and tRTPL to 0 Diff the configuration files to learn about how to use those new options. Merging //depot/gpgpu_sim_research/fermi-test/distribution/... to //depot/gpgpu_sim_research/fermi/distribution/... [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12023]
2014-08-14Adding stub function implementation to get EA_Ropa running on fermi branch.Wilson Fung
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 11311]
2014-08-14using rsync because of ssh having issues with concurreny copyingTim Rogers
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 11065]
2014-08-14Fixing the copy directoriesTim Rogers
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 11053]
2014-08-14Adding support to change the directory on the remote opencl compilationTim Rogers
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 11052]
2014-08-14Fixed build fail when there is no openclAndrew M. B. Boktor
Now, you have to define both NVOPENCL_LIBDIR and NVOPENCL_INCDIR in the setupd_environment script to build with opencl. If any of them is not setup, gpgpu-sim will build will output a warning and built without opencl support. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 10873]
2014-08-14Warnings cleanupTim Rogers
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 10753]
2014-08-14Integrated in 10477 - Fixes for compiling with gcc v4.5.1Inderpreet Singh
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 10478]
2014-08-14- Minor change to make things simpler, basically removing all instances ofAndrew M. B. Boktor
$CUDAHOME and replacing them with $CUDA_INSTALL_PATH. Removing all instances of $NVIDIA_CUDA_SDK_LOCATION with $NVIDIA_COMPUTE_SDK_LOCATION. - Some additions/changes to the README file to make it a little more intuitive. - Default values added to setup_environment to make things easier for the average user. - My first perforce submit :D [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 10401]
2014-08-14Fix for Bug 109 - memory alignment should be 256 bytes.Inderpreet Singh
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 10090]
2014-08-14Initial modifications to the opencl runtime API to allow the AMD sample ↵Tayler Hetherington
applications to run. Some of these modifications are temporary or incomplete and will be modified as necessary. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 9942]
2014-08-14Integration change. Bringing in the remote opencl changes from mem_divergenceTim Rogers
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 9764]
2011-07-07Integration change. Bringing in some changes from mem_divergence that allow ↵Tim Rogers
for multiple configs of the built simulator to exist at one time. Now you no longer have to clean build when changing from debug to release configs it also eliminates the possibility of having a fraken-file where some objects are in debug and some are in release. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 9743]
2010-12-28- parameter memory and active threads now part of kernel_info_t:Tor Aamodt
Parameters are finalized at kernel launch, which means the contents of parameter memory are initialized. Kernel arguement names have a fixed order, hence same address should be assigned on subsequent kernel launches of same kernel in other streams provided the data size param_t::size of arguments for each kernel launch is identical (an assertion has been added to check this is true). - passing regression [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 8303]