1
0
Fork 0

borken still 6.0.2

main
Jeff Moe 2024-02-02 18:30:37 -07:00
parent f561bfb1e0
commit 4edd6eda29
5 changed files with 70 additions and 60 deletions

View File

@ -8,6 +8,9 @@ cmake -S llvm -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/opt/rocm \
-DCPACK_BINARY_DEB=ON \
-DCPACK_BINARY_STGZ=OFF \
-DCPACK_BINARY_TGZ=OFF \
-DCPACK_BINARY_TZ=OFF \
-DCPACK_SOURCE_STGZ=OFF \
-DCPACK_SOURCE_TBZ2=OFF \
-DCPACK_SOURCE_TGZ=OFF \
@ -17,7 +20,7 @@ cmake -S llvm -B build -G Ninja \
-DLLVM_BUILD_TESTS=OFF \
-DLLVM_CCACHE_BUILD=ON \
-DLLVM_ENABLE_LLD=ON \
-DLLVM_ENABLE_PROJECTS="bolt;clang;clang-tools-extra;compiler-rt;libc;libclc;lld;lldb;polly;pstl" \
-DLLVM_ENABLE_PROJECTS="bolt;clang;clang-tools-extra;compiler-rt;flang;libc;libclc;lld;lldb;polly;pstl" \
-DLLVM_ENABLE_RUNTIMES="libc;libunwind;libcxxabi;libcxx" \
-DLLVM_TARGETS_TO_BUILD="X86;AMDGPU" \
-DLLVM_ENABLE_Z3_SOLVER=ON \
@ -44,10 +47,15 @@ cmake -S llvm -B build -G Ninja \
-DLLVM_TOOL_COMPILER_RT_BUILD=ON \
-DLLVM_TOOL_POLLY_BUILD=ON \
-DLLVM_TOOL_PSTL_BUILD=ON \
-DFLANG_BUILD_TOOLS=ON \
-DFLANG_INCLUDE_TESTS=OFF \
-DLLVM_EXTERNAL_OPENMP_SOURCE_DIR=/home/jebba/devel/ROCm/llvm-project/llvm/../openmp \
-DLIBOMPTARGET_AMDGCN_GFXLIST=gfx1100 \
time ninja -C build package
sudo dpkg -i build/LLVM-17.0.0git-Linux.deb
exit
# All works except mlir, flang, and openmp which enable each other.
# OK
-DLLVM_ENABLE_RUNTIMES="libc;libunwind;libcxxabi;libcxx" \
# Mess XXX
@ -65,6 +73,8 @@ exit
-DLIBOMPTARGET_DEVICE_ARCHITECTURES=native
-DLIBOMPTARGET_DEVICE_ARCHITECTURES=gfx1100 \
-DLLVM_EXTERNAL_OPENMP_SOURCE_DIR=/home/jebba/devel/ROCm/llvm-project/llvm/../openmp
# FLANG FTBFS, maybe needs ok openmp
/home/jebba/devel/ROCm/llvm-project/flang/lib/Semantics/check-omp-structure.cpp:1905:1: error: no member named 'v' in 'Fortran::parser::OmpClause::OmpxDynCgroupMem'
# MLIR FTBFS
@ -122,3 +132,5 @@ LLVM_EXPORT_SYMBOLS_FOR_PLUGINS
# second pass for FLANG?
# cmake ../llvm-project/flang -DFLANG_ENABLE_WERROR=ON -DCMAKE_BUILD_TYPE=Release -GNinja -DLLVM_DIR:PATH=../../build_llvm/lib/cmake/llvm -DMLIR_DIR:PATH=../../build_llvm/lib/cmake/mlir -DCLANG_DIR:PATH=../../build_llvm/lib/cmake/clang
FLANG_PLUGIN_SUPPORT

View File

@ -1,5 +1,4 @@
#!/bin/bash
rm -rf rocBLAS
git clone https://github.com/ROCm/rocBLAS
cd rocBLAS/
@ -10,10 +9,8 @@ virtualenv venv
source venv/bin/activate
pip install -U setuptools pip wheel
pip install -r deps/requirements.txt
# XXX cruft
sed -i -e 's/hip-rocclr >= 4.0.0//g' CMakeLists.txt
rm -rf build
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/opt/rocm \
@ -30,18 +27,17 @@ cmake -B build -G Ninja \
-DCPACK_PACKAGING_INSTALL_PREFIX=/opt/rocm \
-DCMAKE_C_COMPILER=/usr/bin/clang \
-DCMAKE_CXX_COMPILER=/usr/bin/clang++ \
-DAMDGPU_TARGETS=gfx1100 \
-DTENSILE_GPU_ARCHS=gfx1100 \
-DROCM_DEP_ROCMCORE=OFF
-DROCM_DEP_ROCMCORE=OFF \
-DBUILD_FORTRAN_CLIENTS=OFF \
ninja -C build package
sudo dpkg -i build/rocblas_4.2.0-90c6632f~dirty_amd64.deb \
build/rocblas-dev_4.2.0-90c6632f~dirty_amd64.deb
exit
-DAMDGPU_TARGETS=gfx1100
-DAMDGPU_TARGETS=all
-DAMDGPU_TARGETS=gfx1100 \
-DTENSILE_GPU_ARCHS=gfx1100 \
-DTENSILE_USE_LLVM=ON ?
-DTensile_COMPILER=hipcc
# ** NOTE: blas2/rocblas_ger_kernels.cpp is compiled with the verbose flag -v for QC purposes.
-DBUILD_WITH_TENSILE=

View File

@ -37,6 +37,7 @@ The non-free blobs are available from Linux's repo here:
linux-firmware/amdgpu/gc_11_0_0_mes_2.bin \
linux-firmware/amdgpu/gc_11_0_0_pfp.bin \
linux-firmware/amdgpu/gc_11_0_0_rlc.bin \
linux-firmware/amdgpu/gc_11_0_0_rlc_1.bin \
linux-firmware/amdgpu/psp_13_0_0_sos.bin \
linux-firmware/amdgpu/psp_13_0_0_ta.bin \
linux-firmware/amdgpu/sdma_6_0_0.bin \

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: tinyrocs 0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-01-27 08:45-0700\n"
"POT-Creation-Date: 2024-02-02 17:03-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@ -51,192 +51,192 @@ msgstr ""
msgid "Install dependencies from Debian repositories."
msgstr ""
#: ../../../_source/os.rst:56
#: ../../../_source/os.rst:58
msgid "OS Configuration"
msgstr ""
#: ../../../_source/os.rst:57
#: ../../../_source/os.rst:59
msgid "Operating system configuration."
msgstr ""
#: ../../../_source/os.rst:73
#: ../../../_source/os.rst:75
msgid "Kernel"
msgstr ""
#: ../../../_source/os.rst:74
#: ../../../_source/os.rst:76
msgid "tinyrocs runs a Linux kernel."
msgstr ""
#: ../../../_source/os.rst:78
#: ../../../_source/os.rst:80
msgid "Linux Source"
msgstr ""
#: ../../../_source/os.rst:79
#: ../../../_source/os.rst:81
msgid ""
"The kernel is built from AMD's source repo, using the latest ``rocm-6.0.0`` "
"The kernel is built from AMD's source repo, using the latest ``rocm-6.0.2`` "
"git tag."
msgstr ""
#: ../../../_source/os.rst:81
#: ../../../_source/os.rst:83
msgid "`<https://github.com/ROCm/ROCK-Kernel-Driver>`_"
msgstr ""
#: ../../../_source/os.rst:85
#: ../../../_source/os.rst:87
msgid "Configuration"
msgstr ""
#: ../../../_source/os.rst:86
#: ../../../_source/os.rst:88
msgid "The latest kernel `.config` for the tinyrocs cluster is here:"
msgstr ""
#: ../../../_source/os.rst:88
#: ../../../_source/os.rst:90
msgid ""
"`<https://spacecruft.org/deepcrayon/tinyrocs/raw/branch/main/kernel/config>`_"
msgstr ""
#: ../../../_source/os.rst:90
#: ../../../_source/os.rst:92
msgid "Notable differences between the tinyrocs kernel and Debian:"
msgstr ""
#: ../../../_source/os.rst:92
#: ../../../_source/os.rst:94
msgid "Version 6.3.7."
msgstr ""
#: ../../../_source/os.rst:93
#: ../../../_source/os.rst:95
msgid ""
"Much smaller total binary size. The size of the modules plus kernel plus "
"initrd size on latest Debian Bookworm backport kernel is 516 megs. The "
"custom tinyrocs kernel total size is 26 megs."
msgstr ""
#: ../../../_source/os.rst:96
#: ../../../_source/os.rst:98
msgid ""
"Removed all sorts of video related options, except needed for ``amdgpu`` and "
"the motherboard onboard AST chip."
msgstr ""
#: ../../../_source/os.rst:98
#: ../../../_source/os.rst:100
msgid ""
"Non-preemptable server kernel (e.g. not \"responsive desktop\") at 100Hz."
msgstr ""
#: ../../../_source/os.rst:99
#: ../../../_source/os.rst:101
msgid ""
"Include network drivers for the Intel and Broadcom versions of the ROMED8-2T "
"motherboards."
msgstr ""
#: ../../../_source/os.rst:101
#: ../../../_source/os.rst:103
msgid "AMD Epyc kernel options (e.g. disable Intel specific CPU options)."
msgstr ""
#: ../../../_source/os.rst:102
#: ../../../_source/os.rst:104
msgid ""
"Disable all sleep, hibernation, backlights, anything related to laptops."
msgstr ""
#: ../../../_source/os.rst:103
#: ../../../_source/os.rst:105
msgid "No virtualization guest or host (no Xen, KVM, etc.)."
msgstr ""
#: ../../../_source/os.rst:104
#: ../../../_source/os.rst:106
msgid ""
"Nearly all modules statically compiled in kernel, not as loadable modules, "
"except for the ``amdgpu`` related bits."
msgstr ""
#: ../../../_source/os.rst:106
#: ../../../_source/os.rst:108
msgid ""
"Many security options disabled (e.g. SELinux, firewalling, crypto "
"algorithms)."
msgstr ""
#: ../../../_source/os.rst:107
#: ../../../_source/os.rst:109
msgid "NUMA disabled (XXX revisit)."
msgstr ""
#: ../../../_source/os.rst:108
#: ../../../_source/os.rst:110
msgid "Various encryption options disabled (e.g. encryped RAM)."
msgstr ""
#: ../../../_source/os.rst:109
#: ../../../_source/os.rst:111
msgid ""
"Removed a universe of hardware drivers. No wifi, SCSI, SLIP, sound, mice, "
"etc. Only include what is needed."
msgstr ""
#: ../../../_source/os.rst:111
#: ../../../_source/os.rst:113
msgid "No kexec and other options like that not needed."
msgstr ""
#: ../../../_source/os.rst:112
#: ../../../_source/os.rst:114
msgid "No emulation, such as for 32-bit."
msgstr ""
#: ../../../_source/os.rst:113
#: ../../../_source/os.rst:115
msgid "No hotplugging, except USB (XXX revisit)."
msgstr ""
#: ../../../_source/os.rst:114
#: ../../../_source/os.rst:116
msgid "Removed lots of debugging options, probing, etc."
msgstr ""
#: ../../../_source/os.rst:115
#: ../../../_source/os.rst:117
msgid "Ceph filesystem in kernel."
msgstr ""
#: ../../../_source/os.rst:116
#: ../../../_source/os.rst:118
msgid "Removed many filesystems, partition types."
msgstr ""
#: ../../../_source/os.rst:117
#: ../../../_source/os.rst:119
msgid ""
"Removed many networking options and protocols for other types of setups, "
"including IPv6."
msgstr ""
#: ../../../_source/os.rst:119
#: ../../../_source/os.rst:121
msgid ""
"Includes modules for hardware sensors. Excludes sensor modules not needed."
msgstr ""
#: ../../../_source/os.rst:120
#: ../../../_source/os.rst:122
msgid ""
"Includes network drivers for various Mellanox Infiniband cards (hardware not "
"selected yet). XXX revisit needed config after cards selected."
msgstr ""
#: ../../../_source/os.rst:122
#: ../../../_source/os.rst:124
msgid "Includes USB keyboard, but not much else USB."
msgstr ""
#: ../../../_source/os.rst:123
#: ../../../_source/os.rst:125
msgid "Disable audit."
msgstr ""
#: ../../../_source/os.rst:124
#: ../../../_source/os.rst:126
msgid "Disable watchdogs."
msgstr ""
#: ../../../_source/os.rst:129
#: ../../../_source/os.rst:131
msgid "Build"
msgstr ""
#: ../../../_source/os.rst:130
#: ../../../_source/os.rst:132
msgid "Build a tinyrocs kernel thusly."
msgstr ""
#: ../../../_source/os.rst:132
#: ../../../_source/os.rst:134
msgid "Get kernel source."
msgstr ""
#: ../../../_source/os.rst:134
#: ../../../_source/os.rst:136
msgid ""
"At present, AMD's ROCm kernel \"fork\" is used. There are endless other "
"kernel source options."
msgstr ""
#: ../../../_source/os.rst:137
#: ../../../_source/os.rst:139
msgid ""
"tinyrocs needs a recent ``amdgpu`` module. The laziest way to build this is "
"to just use AMD's source. The kernel source can match the same tag as the "
@ -244,28 +244,28 @@ msgid ""
"libraries."
msgstr ""
#: ../../../_source/os.rst:147
#: ../../../_source/os.rst:149
msgid "Get git tag of latest ROCm release:"
msgstr ""
#: ../../../_source/os.rst:154
#: ../../../_source/os.rst:156
msgid ""
"Get a ``.config`` kernel configuration file. To use a configuration from the "
"running kernel:"
msgstr ""
#: ../../../_source/os.rst:161
#: ../../../_source/os.rst:163
msgid "Or get the latest tinyrocs kernel config:"
msgstr ""
#: ../../../_source/os.rst:168
#: ../../../_source/os.rst:170
msgid "Further configure kernel. Increment kernel localversion."
msgstr ""
#: ../../../_source/os.rst:176
#: ../../../_source/os.rst:178
msgid "Build Debian package:"
msgstr ""
#: ../../../_source/os.rst:182
#: ../../../_source/os.rst:184
msgid "Install kernel ``.deb``:"
msgstr ""

View File

@ -21,6 +21,7 @@ See "Operating System" about building that.
It is not required to use this toolchain to build the kernel module.
The stock Debian gcc is used for the kernel module.
Uninstall
---------
Starting from a "clean slate"