P4 to Git Change 1252154 by emankov@em-hsa-amd on 2016/03/29 07:23:56

SWDEV-79309 - Compiler Lib memory consumption decreasing by aclQueryInfo refactoring.

	[Problem] Memcpy on every aclQueryInfo for metadata. As a result an unreasonable memory consumption on every compiled binary (on Runtime).

	[Solution] Once extracted kernel Metadata is cached, secondary extraction doesn't happen. Blits are also affected.

	[Testing] precheckin
	http://ocltc.amd.com:8111/viewModification.html?modId=69016&personal=true&buildTypeId=&tab=vcsModificationBuilds&show_all_builds=true

	[Reviewers] Stanislav Mekhanoshin, Nikolay Haustov

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/include/v0_8/aclStructs.h#6 edit
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/include/v0_8/aclTypes.h#3 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/api/v0_8/acl.cpp#41 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#92 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/hsail_be.cpp#66 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclStructs.h#23 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclTypes.h#8 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/v0_8/libUtils.cpp#15 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/v0_8/libUtils.h#24 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/CLAssumptionCheck.cpp#49 edit
This commit is contained in:
foreman
2016-03-29 07:35:41 -04:00
parent 31bc8d0dbe
commit 511c6a5de8
5 changed files with 65 additions and 13 deletions
@@ -180,6 +180,7 @@ typedef struct _acl_bif_rec_0_8_1 {
aclOptions* options; // Pointer to acl options.
aclBinaryOptions_0_8_1 binOpts; // Pointer to the binary options.
aclDevCaps_0_8 caps; // Capabilities of the BIF.
aclBinaryData *binData; // Pointer to the binary's temporary data.
} aclBinary_0_8_1;
#define ACL_LOADER_COMMON\
@@ -30,6 +30,7 @@ typedef struct _acl_be_loader_rec_0_8 aclBELoader;
typedef struct _acl_llvm_module_0_8* aclModule; // Opaque pointer to llvm::Module
typedef struct _acl_llvm_context_0_8* aclContext; // Opaque pointer to llvm::Context
typedef struct _acl_loader_data_0_8* aclLoaderData; // Opaque pointer to loader data
typedef struct _acl_binary_data_0_8_2 aclBinaryData;
#include "aclEnums.h"
// Typedefs for enumerations