cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

et1
Adept II

Analyze in CodeXL 2.0?

I installed CodeXL 2.0. I switched to Analyze Mode and added the source code back in CodeXL Explorer (my CodeXL 1.9 configuration is apparently gone). Still no way to build it. The options are greyed out.

0 Likes
1 Solution
amitbm
Staff

Hi,

In short, you need to:

1. Create a Project (File -> New Project -> OK)

2. Switch to Analyze mode.

3. Create a Program or Folder of the relevant platform (OpenCL/DirectX folder or OpenGL/Vulkan Program).

4. Add the shader/kernel source file to the Program/Folder that you created, and build it.

You will find a detailed explanation, including step-by-step examples, in the CodeXL 2.0 user guide.

Here is a short summary of what you will find in the user guide -

The Analyzer tree's structure was changed in CodeXL 2.0, to support the concept of OpenGL and Vulkan Programs. For Vulkan and OpenGL, the Analyzer now builds the whole Program pipeline (i.e. compiles each attached shader and links all shaders together), rather than compiling only standalone shaders. This yields more accurate ISA and performance statistics than in previous versions.

For OpenCL and D3D, the Analyzer still doesn't support the concept of Programs. It does, however, let you create logical groups of source files that can be compiled together (one after the other, independently). These logical groups are called Folders. Once a .cl or .hlsl file is attached to an OpenCL or DirectX folder - it can be built from there.

The Source Files node, at the bottom of the Analyzer tree, is no more than a container that holds all of the source files that were added to the Project. Source files cannot be built directly from under the Source Files node. You first need to create a Folder/Porgram of the desired type, and drag the source file to that Folder/Program item (or add the source file directly to the Folder/Program by right-clicking on the Folder/Program item and using the context menu).

There are additional changes to the tree in this version, the build output is now separated to 32-bit and 64-bit, so that that 64-bit builds do not overrun 32-bit build outputs and vice versa.

View solution in original post

1 Reply
amitbm
Staff

Hi,

In short, you need to:

1. Create a Project (File -> New Project -> OK)

2. Switch to Analyze mode.

3. Create a Program or Folder of the relevant platform (OpenCL/DirectX folder or OpenGL/Vulkan Program).

4. Add the shader/kernel source file to the Program/Folder that you created, and build it.

You will find a detailed explanation, including step-by-step examples, in the CodeXL 2.0 user guide.

Here is a short summary of what you will find in the user guide -

The Analyzer tree's structure was changed in CodeXL 2.0, to support the concept of OpenGL and Vulkan Programs. For Vulkan and OpenGL, the Analyzer now builds the whole Program pipeline (i.e. compiles each attached shader and links all shaders together), rather than compiling only standalone shaders. This yields more accurate ISA and performance statistics than in previous versions.

For OpenCL and D3D, the Analyzer still doesn't support the concept of Programs. It does, however, let you create logical groups of source files that can be compiled together (one after the other, independently). These logical groups are called Folders. Once a .cl or .hlsl file is attached to an OpenCL or DirectX folder - it can be built from there.

The Source Files node, at the bottom of the Analyzer tree, is no more than a container that holds all of the source files that were added to the Project. Source files cannot be built directly from under the Source Files node. You first need to create a Folder/Porgram of the desired type, and drag the source file to that Folder/Program item (or add the source file directly to the Folder/Program by right-clicking on the Folder/Program item and using the context menu).

There are additional changes to the tree in this version, the build output is now separated to 32-bit and 64-bit, so that that 64-bit builds do not overrun 32-bit build outputs and vice versa.