TensileCreateLibrary#
TensileCreateLibrary is a command-line tool that generates libraries and code object files for a set of supplied logic files.
Syntax#
TensileCreateLibrary [OPTIONS...] <LOGIC DIRECTORY> <OUTPUT DIRECTORY> <RUNTIME LANGUAGE>
Required arguments#
Here is the list of required arguments for invoking the TensileCreateLibrary command.
Argument  | 
Description  | 
|---|---|
<LOGIC DIRECTORY>  | 
Absolute path for logic files. The logic files are generally found in either of the following locations:
  | 
<OUTPUT DIRECTORY>  | 
Absolute or relative path to the output directory where build artifacts are placed.  | 
<RUNTIME LANGUAGE>  | 
Runtime language out of OCL, HIP, or HSA  | 
Options#
Here is the list of optional arguments for invoking the TensileCreateLibrary command.
Option  | 
Description  | 
|---|---|
--architecture=ARCHITECTURE  | 
Architectures to generate a library for. When specifying multiple options, use quoted and semicolon-delimited architectures such as --architecture=’gfx908;gfx1012’. Supported architectures include: all; gfx000; gfx803; gfx900; gfx900:xnack-; gfx906; gfx906:xnack+; gfx906:xnack-; gfx908; gfx908:xnack+; gfx908:xnack-; gfx90a; gfx90a:xnack+; gfx90a:xnack-; gfx940; gfx940:xnack+; gfx940:xnack-; gfx941; gfx941:xnack+; gfx941:xnack-; gfx942; gfx942:xnack+; gfx942:xnack-; gfx1010; gfx1011; gfx1012; gfx1030; gfx1031; gfx1032; gfx1034; gfx1035; gfx1100; gfx1101; gfx1102.  | 
--build-client  | 
Builds Tensile client executable that is used for stand alone benchmarking. This option is set by default.  | 
--client-config  | 
Creates   | 
--code-object-version={default,V4,V5}  | 
HSA code object version.  | 
--cxx-compiler={amdclang++, hipcc} or {clang++, hipcc} for Windows  | 
C++ compiler used when generating binaries.  | 
--embed-library=EMBEDLIBRARY  | 
Specifies the library to embed into static variables.  | 
--embed-library-key=EMBEDLIBRARYKEY  | 
Access key for embedding library files.  | 
--generate-manifest-and-exit  | 
Similar to the   | 
--generate-sources-and-exit  | 
Skips building the source and assembly code object files. Outputs source files only and exits.  | 
--ignore-asm-cap-cache  | 
Ignores the asm capability cache and derives the asm capabilities at runtime.  | 
--jobs=CPUTHREADS or -j CPUTHREADS  | 
Number of parallel jobs to launch. If this option is supplied with a value higher than   | 
--lazy-library-loading  | 
Loads Tensile libraries only when needed.  | 
--library-format={yaml,msgpack}  | 
Specifies the library format to use. Default value:   | 
--no-enumerate  | 
Prohibits   | 
--no-merge-files  | 
Stores every solution and kernel in separate files.  | 
--no-short-file-names  | 
Prohibits short files names.  | 
--num-merged-files=NUMMERGEDFILES  | 
Number of files the kernels must be written into.  | 
--merge-files  | 
Stores all solutions in a single file. This is set by default.  | 
--short-file-names  | 
Converts solution and kernel names to serial Ids if Windows kernel name is too long. The option is set by default.  | 
--separate-architectures  | 
Separates   | 
--verbose=PRINTLEVEL or -v PRINTLEVEL  | 
Sets printout verbosity level out of 0, 1, and 2.  | 
--version=VERSION  | 
Version string to embed into the library file.  | 
--write-master-solution-index  | 
Outputs master solution index including number of kernels per architecture post build in csv format.  | 
Usage without options#
Here is how to run TensileCreateLibrary command without options. The specified logic directory contains the
logic files and the generated artifacts are directed to the tensile-output directory that is created in the directory where the TensileCreateLibrary
command is invoked. The runtime language is HIP.
TensileCreateLibrary /home/myuser/Logic tensile-output HIP
Usage with options#
Here is how to run TensileCreateLibrary command with options. The following example shows options with and without arguments.
TensileCreateLibrary --separate-architectures --jobs=32 /home/myuser/Logic tensile-output HIP