Changeset 3776 in CLRX
 Timestamp:
 Feb 13, 2018, 7:56:24 AM (15 months ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

CLRadeonExtender/trunk/amdbin/ROCmBinaries.cpp
r3772 r3776 1870 1870 1871 1871 // kernel code properties 1872 if (kernel.kernargSegmentSize != BINGEN64_NOTSUPPLIED  1873 kernel.kernargSegmentAlign != BINGEN64_NOTSUPPLIED  1874 kernel.privateSegmentFixedSize != BINGEN64_NOTSUPPLIED  1875 kernel.groupSegmentFixedSize != BINGEN64_NOTSUPPLIED  1876 kernel.wavefrontSize != BINGEN_NOTSUPPLIED  1877 kernel.sgprsNum != BINGEN_NOTSUPPLIED  1878 kernel.vgprsNum != BINGEN_NOTSUPPLIED  1879 kernel.maxFlatWorkGroupSize != BINGEN64_NOTSUPPLIED  1880 hasValue(kernel.spilledSgprs)  hasValue(kernel.spilledVgprs)  1881 kernel.fixedWorkGroupSize[0] != 0  kernel.fixedWorkGroupSize[1] != 0  1872 const ROCmKernelConfig& kconfig = *kconfigs[i]; 1873 1874 output += " CodeProps: \n"; 1875 output += " KernargSegmentSize: "; 1876 itocstrCStyle(hasValue(kernel.kernargSegmentSize) ? 1877 kernel.kernargSegmentSize : ULEV(kconfig.kernargSegmentSize), 1878 numBuf, 24); 1879 output += numBuf; 1880 output += "\n GroupSegmentFixedSize: "; 1881 itocstrCStyle(hasValue(kernel.groupSegmentFixedSize) ? 1882 kernel.groupSegmentFixedSize : 1883 uint64_t(ULEV(kconfig.workgroupGroupSegmentSize)), 1884 numBuf, 24); 1885 output += numBuf; 1886 output += "\n PrivateSegmentFixedSize: "; 1887 itocstrCStyle(hasValue(kernel.privateSegmentFixedSize) ? 1888 kernel.privateSegmentFixedSize : 1889 uint64_t(ULEV(kconfig.workitemPrivateSegmentSize)), 1890 numBuf, 24); 1891 output += numBuf; 1892 output += "\n KernargSegmentAlign: "; 1893 itocstrCStyle(hasValue(kernel.kernargSegmentAlign) ? 1894 kernel.kernargSegmentAlign : 1895 uint64_t(1ULL<<kconfig.kernargSegmentAlignment), 1896 numBuf, 24); 1897 output += numBuf; 1898 output += "\n WavefrontSize: "; 1899 itocstrCStyle(hasValue(kernel.wavefrontSize) ? kernel.wavefrontSize : 1900 cxuint(1U<<kconfig.wavefrontSize), numBuf, 24); 1901 output += numBuf; 1902 output += "\n NumSGPRs: "; 1903 itocstrCStyle(hasValue(kernel.sgprsNum) ? kernel.sgprsNum : 1904 cxuint(ULEV(kconfig.wavefrontSgprCount)), numBuf, 24); 1905 output += numBuf; 1906 output += "\n NumVGPRs: "; 1907 itocstrCStyle(hasValue(kernel.vgprsNum) ? kernel.vgprsNum : 1908 cxuint(ULEV(kconfig.workitemVgprCount)), numBuf, 24); 1909 output += numBuf; 1910 // spilled registers 1911 if (hasValue(kernel.spilledSgprs)) 1912 { 1913 output += "\n NumSpilledSGPRs: "; 1914 itocstrCStyle(kernel.spilledSgprs, numBuf, 24); 1915 output += numBuf; 1916 } 1917 if (hasValue(kernel.spilledVgprs)) 1918 { 1919 output += "\n NumSpilledVGPRs: "; 1920 itocstrCStyle(kernel.spilledVgprs, numBuf, 24); 1921 output += numBuf; 1922 } 1923 output += "\n MaxFlatWorkGroupSize: "; 1924 itocstrCStyle(hasValue(kernel.maxFlatWorkGroupSize) ? 1925 kernel.maxFlatWorkGroupSize : uint64_t(256), numBuf, 24); 1926 output += numBuf; 1927 output += "\n"; 1928 if (kernel.fixedWorkGroupSize[0] != 0  kernel.fixedWorkGroupSize[1] != 0  1882 1929 kernel.fixedWorkGroupSize[2] != 0) 1883 1930 { 1884 const ROCmKernelConfig& kconfig = *kconfigs[i]; 1885 1886 output += " CodeProps: \n"; 1887 output += " KernargSegmentSize: "; 1888 itocstrCStyle(hasValue(kernel.kernargSegmentSize) ? 1889 kernel.kernargSegmentSize : ULEV(kconfig.kernargSegmentSize), 1890 numBuf, 24); 1891 output += numBuf; 1892 output += "\n GroupSegmentFixedSize: "; 1893 itocstrCStyle(hasValue(kernel.groupSegmentFixedSize) ? 1894 kernel.groupSegmentFixedSize : 1895 uint64_t(ULEV(kconfig.workgroupGroupSegmentSize)), 1896 numBuf, 24); 1897 output += numBuf; 1898 output += "\n PrivateSegmentFixedSize: "; 1899 itocstrCStyle(hasValue(kernel.privateSegmentFixedSize) ? 1900 kernel.privateSegmentFixedSize : 1901 uint64_t(ULEV(kconfig.workitemPrivateSegmentSize)), 1902 numBuf, 24); 1903 output += numBuf; 1904 output += "\n KernargSegmentAlign: "; 1905 itocstrCStyle(hasValue(kernel.kernargSegmentAlign) ? 1906 kernel.kernargSegmentAlign : 1907 uint64_t(1ULL<<kconfig.kernargSegmentAlignment), 1908 numBuf, 24); 1909 output += numBuf; 1910 output += "\n WavefrontSize: "; 1911 itocstrCStyle(hasValue(kernel.wavefrontSize) ? kernel.wavefrontSize : 1912 cxuint(1U<<kconfig.wavefrontSize), numBuf, 24); 1913 output += numBuf; 1914 output += "\n NumSGPRs: "; 1915 itocstrCStyle(hasValue(kernel.sgprsNum) ? kernel.sgprsNum : 1916 cxuint(ULEV(kconfig.wavefrontSgprCount)), numBuf, 24); 1917 output += numBuf; 1918 output += "\n NumVGPRs: "; 1919 itocstrCStyle(hasValue(kernel.vgprsNum) ? kernel.vgprsNum : 1920 cxuint(ULEV(kconfig.workitemVgprCount)), numBuf, 24); 1921 output += numBuf; 1922 // spilled registers 1923 if (hasValue(kernel.spilledSgprs)) 1924 { 1925 output += "\n NumSpilledSGPRs: "; 1926 itocstrCStyle(kernel.spilledSgprs, numBuf, 24); 1927 output += numBuf; 1928 } 1929 if (hasValue(kernel.spilledVgprs)) 1930 { 1931 output += "\n NumSpilledVGPRs: "; 1932 itocstrCStyle(kernel.spilledVgprs, numBuf, 24); 1933 output += numBuf; 1934 } 1935 output += "\n MaxFlatWorkGroupSize: "; 1936 itocstrCStyle(hasValue(kernel.maxFlatWorkGroupSize) ? 1937 kernel.maxFlatWorkGroupSize : uint64_t(256), numBuf, 24); 1938 output += numBuf; 1939 output += "\n"; 1940 if (kernel.fixedWorkGroupSize[0] != 0  kernel.fixedWorkGroupSize[1] != 0  1941 kernel.fixedWorkGroupSize[2] != 0) 1942 { 1943 output += " FixedWorkGroupSize: "; 1944 genArrayValue(3, kernel.fixedWorkGroupSize, output); 1945 } 1931 output += " FixedWorkGroupSize: "; 1932 genArrayValue(3, kernel.fixedWorkGroupSize, output); 1946 1933 } 1947 1934 }
Note: See TracChangeset
for help on using the changeset viewer.