Skip to content
This repository has been archived by the owner on Apr 30, 2020. It is now read-only.

Commit

Permalink
CodeXL 2.6 release
Browse files Browse the repository at this point in the history
  • Loading branch information
chesik-amd committed Oct 15, 2018
1 parent fd4a264 commit 828de6e
Show file tree
Hide file tree
Showing 2,815 changed files with 2,265 additions and 912,586 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -299,12 +299,14 @@ CodeXL/Components/PowerProfiling/Backend/AMDTPowerProfilingDrivers/Linux/CodeXLP
Common/Lib/AMD/RCP/RCPProfileDataParser
Common/Lib/AMD/RCP/RadeonComputeProfiler
Common/Lib/AMD/RCP/bin
Common/Lib/AMD/RCP/docs
Common/Lib/AMD/RCP/jqPlot
Common/Lib/AMD/RCP/CXLActivityLogger
Common/Lib/AMD/RCP/include
Common/Lib/AMD/RCP/repo

# GPA
Common/Lib/AMD/GPUPerfAPI/2_23
Common/Lib/AMD/GPUPerfAPI/3_*

# RGA
Common/Lib/AMD/RGA
27 changes: 0 additions & 27 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,6 @@
[submodule "Common/Src/TSingleton"]
path = Common/Src/TSingleton
url = ../common-src-TSingleton.git
[submodule "Common/Src/GPUPerfAPIUtils"]
path = Common/Src/GPUPerfAPIUtils
url = ../common-src-GPUPerfAPIUtils.git
[submodule "Common/Src/AMDTMutex"]
path = Common/Src/AMDTMutex
url = ../common-src-AMDTMutex.git
Expand Down Expand Up @@ -49,15 +46,9 @@
[submodule "Common/Src/AMDTAssertionHandlers"]
path = Common/Src/AMDTAssertionHandlers
url = ../common-src-AMDTAssertionHandlers.git
[submodule "Common/Src/AMDTInterceptor"]
path = Common/Src/AMDTInterceptor
url = ../common-src-AMDTInterceptor.git
[submodule "Common/Src/CElf"]
path = Common/Src/CElf
url = ../common-src-CElf.git
[submodule "Common/Src/DDS"]
path = Common/Src/DDS
url = ../common-src-DDS.git
[submodule "Common/Src/DebugHelpers"]
path = Common/Src/DebugHelpers
url = ../common-src-DebugHelpers.git
Expand All @@ -67,9 +58,6 @@
[submodule "Common/Src/VersionInfo"]
path = Common/Src/VersionInfo
url = ../common-src-VersionInfo.git
[submodule "Common/Src/Vulkan"]
path = Common/Src/Vulkan
url = ../common-src-Vulkan-1.0.21.1.git
[submodule "Common/Src/SCons"]
path = Common/Src/SCons
url = ../common-src-SCons.git
Expand Down Expand Up @@ -100,15 +88,9 @@
[submodule "Common/Lib/Ext/qcustomplot"]
path = Common/Lib/Ext/qcustomplot
url = ../common-lib-ext-qcustomplot-1.3.1.git
[submodule "Common/Lib/Ext/Qt"]
path = Common/Lib/Ext/Qt
url = ../common-lib-ext-Qt-5.5.git
[submodule "Common/Lib/Ext/QScintilla"]
path = Common/Lib/Ext/QScintilla
url = ../common-lib-ext-QScintilla-2.8.git
[submodule "Common/Lib/Ext/Vulkan"]
path = Common/Lib/Ext/Vulkan
url = ../common-lib-ext-Vulkan-1.0.21.1.git
[submodule "Common/Lib/AMD/ACL"]
path = Common/Lib/AMD/ACL
url = ../common-lib-AMD-ACL.git
Expand All @@ -121,15 +103,6 @@
[submodule "Common/Lib/Ext/GRLibDWARF"]
path = Common/Lib/Ext/GRLibDWARF
url = ../common-lib-ext-GRLibDWARF.git
[submodule "Common/Lib/Ext/libpng"]
path = Common/Lib/Ext/libpng
url = ../common-lib-ext-libpng-1.6.19.git
[submodule "Common/Lib/Ext/mhook"]
path = Common/Lib/Ext/mhook
url = ../common-lib-ext-mhook.git
[submodule "Common/Lib/AMD/ags"]
path = Common/Lib/AMD/ags
url = ../common-lib-amd-ags-4.0.0.git
[submodule "Common/Src/Misc"]
path = Common/Src/Misc
url = ../common-src-Misc.git
Expand Down
4 changes: 0 additions & 4 deletions .reviewboardrc

This file was deleted.

61 changes: 24 additions & 37 deletions BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,13 @@ git submodule init
git submodule update
```

CodeXL uses
CodeXL uses:

* Radeon Compute Profiler for profiling OpenCL and HSA (Linux only) compute applications. See https://github.com/GPUOpen-Tools/RCP.
* Radeon Graphics Analyzer for analyzing Shaders and OpenCL Kernels. See https://github.com/GPUOpen-Tools/RGA.

To fetch these command line tools run the following command:

```bash
python CodeXL/Scripts/FetchDependencies.py
```
Expand All @@ -29,9 +32,7 @@ python CodeXL/Scripts/FetchDependencies.py
* Latest AMD Radeon Software from http://support.amd.com/en-us/download
* Microsoft Visual Studio 2015 Community Edition or higher + Update 1
* Windows 10 SDK Version 10.0.10586.0 from https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk
* JDK from http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
* CodeXL requires the Java JDK for CPU Profiling support of Java applications

* QT 5.9.5 from https://download.qt.io/archive/qt/5.9/5.9.5/qt-opensource-windows-x86-5.9.5.exe. Make sure you choose the "msvc2015 32-bit" and "Qt WebEngine" options at a minimum while installing.

#### Building CodeXL
* Open the following solution in Visual Studio: CodeXL\AllProjectsBuild\CodeXL-AllProjects.sln
Expand All @@ -42,10 +43,14 @@ python CodeXL/Scripts/FetchDependencies.py
* Most of project configurations are defined in dedicated property sheets
* In order to alter windows SDK installation directory use "Global-WindowsSDK" property sheet and change user macro "WindowsSDKDir"

#### Using an alternate Qt installation directory
* If Qt 5.9.5 has been installed in the default path, nothing additional needs to be done. If Qt 5.9.5 has been installed in a different location, prior to building CodeXL, set an environment variable "QT_DIR" with a value equal to the msvc2015 directroy in the Qt installation (the equivalent of C:\Qt\5.9.5\5.9.5\msvc2015 in a default installation).

## Linux

* CodeXL uses the SCons build system on Linux.
* CodeXL require GCC version 4.8.5 or higher.
* CodeXL requires GCC version 4.8.5 or higher.
* CodeXL requires Qt version 5.9.5. Please install from https://download.qt.io/archive/qt/5.9/5.9.5/qt-opensource-linux-x64-5.9.5.run. Make sure you choose the "Desktop gcc 64-bit" and "Qt WebEngine" options at a minimum while installing.

#### Building on Ubuntu 15.04 or higher
* `sudo apt-get install gcc-multilib g++-multilib`
Expand All @@ -55,67 +60,49 @@ python CodeXL/Scripts/FetchDependencies.py
* `sudo apt-get install libjpeg9-dev`
* `sudo apt-get install libfltk1.3-dev`

##### Ubuntu 16.04 specific
##### Ubuntu 16.04 specific
* `sudo apt-get install libboost-all-dev`

Go to the [Building the JAVA Agent](#Building-the-JAVA-Agent) section

#### Building on CENTOS 7.X

##### Install SCons
* `wget http://prdownloads.sourceforge.net/scons/scons-2.5.0-1.noarch.rpm`
* `sudo rpm -ivh scons-2.5.0-1.noarch.rpm`

##### Install additional dependencies
##### Install additional dependencies
* `sudo yum install libX11-devel mesa-libGL-devel mesa-libGLU-devel`
* `sudo yum install zlib-devel gtk2-devel libpng12`
* `sudo yum install fltk-devel libjpeg-turbo-devel`

##### Install x86 dependencies
* `yum -y install glibc-devel.i686 libstdc++-static.i686`

#### Building the JAVA Agent: <a id="Building-the-JAVA-Agent"></a>
* Install Java JDK (version 1.7.x or higher) from Linux distribution (for example: `sudo yum install java-1.8.0-openjdk-devel` \ `sudo apt-get install openjdk-8-jdk-headless`).
* Or download and install latest JDK for linux Oracle site: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
* Before build please define JAVA\_HOME variable for example : export JAVA\_HOME=/opt/java/jdk1.8.0\_77
* If JAVA\_HOME variable is not defined the build will skip the Java agent project.

#### Building CodeXL
* CD to local copy of /CodeXL/Util/linux/
* Run `./buildCodeXLFullLinuxProjects`

#### Build Switches
* all SCons general switches, like -c for clean , more info at http://scons.org/doc/HTML/scons-man.html
* __-j__ specify the number of concurrent jobs (-j6).
* __CXL\_build=[debug|release]__ - build type. If not stated default value is release.
* __CXL\_build=[debug|release]__ - build type. If not stated, the default value is release.
* __CXL\_build\_verbose=1__ - verbose output
* __CXL\_boost\_lib\_dir=[path to boost libraries]__ - override the bundled boost libraries with files in given path
* __CXL\_boost\_include\_dir=[path to boost headers]__ - override the bundled boost headers with files in given path
* __CXL\_hsa=[true|false]__ - define if to build HSA parts. If not stated default value is false (skip HSA)
* __CXL\_qt\_dir=[path to qt gcc_64 dir]__ - override the Qt base __gcc_64__ directory if Qt was not installed in the default location (~/Qt5.9.5/5.9.5/gcc_64 or /opt/Qt5.9.5/5.9.5/gcc_64)
* __CXL\_hsa=[true|false]__ - define to __true__ in order to build the HSA parts. If not stated, the default value is false (skip HSA)
* __-c__ - performs a "clean" of all build targets.

#### Specific build instructions Ubuntu 16.04
* Since Ubuntu 16.04 comes with gcc 5.3, use the installed system boost libraries. example -
./backend\_build.sh boostlibdir /usr/lib/x86\_64-linux-gnu
#### Specific build instructions recent Ubuntu versions
* Since recent Ubuntu versions come with newer gcc versions, use the installed system boost libraries:

```bash
./buildCodeXLFullLinuxProjects -j5 CXL\_build=debug CXL\_boost\_lib\_dir=/usr/lib/x86\_64-linux-gnu CXL\_boost\_include\_dir=/usr/include/boost
```

#### Running CodeXL
The folder containing the CodeXL binaries can be found in the root folder of CodeXL (Output_x86_64).
If a license agreement is not displayed, copy the file CodeXL/Setup/Legal/Public/EndUserLicenseAgreement-Linux.htm to the Legal subdirectory in the CodeXL binaries folder (Output_x86_64/release/bin/Legal)
If CodeXL displays an error indicating that it is unable to establish a connection with the CodeXL remote agent, copy the CodeXLRemoteAgentConfig.xml file into your CodeXL binary folder. The source file is in the folder CodeXL/CodeXL/Remote/AMDTRemoteAgent/CodeXLRemoteAgentConfig.xml

#### Using Detours Express 3.0 for graphics backend injection with Windows builds of CodeXL
* For some Steam games the default injection technique used by CodeXL may not work. In most cases this can be fixed by using Detours Express 3.0.
* Download Detours Express 3.0
* Download the Detours express package from Microsoft: https://www.microsoft.com/en-us/download/details.aspx?id=52586
* Or, by searching for "Detours express 3.0 download".
* Install Detours Express 3.0
* We assume the Detours Express is installed in the following location: "CodeXL\Common\Lib\Ext\Detours Express 3.0"
* The detours files that are used are included by the following file: "\CodeXL\Common\Src\AMDTInterceptor\mhook-dllInjector\dllInjectorDetours.inl"
* Detours can be installed elsewhere but the paths for the included detours files (creatwth.cpp and modules.cpp) will need modifying in dllInjectorDetours.inl
* Edit "CodeXL\Common\Lib\Ext\Detours Express 3.0\src\creatwth.cpp"
* Change the line: "DETOUR_EXE_RESTORE der;" to: "static DETOUR_EXE_RESTORE der;". This struct is quite large and can a cause stack overflow on some systems.
* Replace both occurrences of '#1' in creatwth.cpp with 'InjectDLL'
* Uncomment the #define USE_DETOURS line below and rebuild the solution.
The folder containing the CodeXL binaries can be found in the root folder of CodeXL (Output_x86_64).

* If a license agreement is not displayed, copy the file CodeXL/Setup/Legal/Public/EndUserLicenseAgreement-Linux.htm to the Legal subdirectory in the CodeXL binaries folder (Output_x86_64/release/bin/Legal)
* If CodeXL displays an error indicating that it is unable to establish a connection with the CodeXL remote agent, copy the CodeXLRemoteAgentConfig.xml file into your CodeXL binary folder. The source file is in the folder CodeXL/CodeXL/Remote/AMDTRemoteAgent/CodeXLRemoteAgentConfig.xml

----------
Loading

0 comments on commit 828de6e

Please sign in to comment.