E2k support #91

Open
makise-homura wants to merge 3 commits from makise-homura/e2k_support into master
makise-homura commented 2020-08-18 13:28:17 -05:00 (Migrated from github.com)

This pull request introduces support for warningless building of ftl-sdk as a requirement of obs-studio on Elbrus hardware platform (which is based on Russian Elbrus CPU family) with its native lcc (eLbrus Compiler Collection) compiler.

As currently Elbrus-based stations are introduced into general puprose applications, including video streaming and recording, it is better to have OBS buildable on this platform directly from upstream without any warnings, rather than being patched with some specific patches prior to building, or producing mass of irrelevant warnings while being built.

This was:

  • Built on Elbrus workstation (e2k-linux-gnu);
  • Built on x86_64 workstation (x86_64-linux-gnu) to be sure that nothing is broken on x86_64.

Details of Elbrus workstation:

  • CPU: Elbrus-8C (formerly Elbrus-8S) running on 1300 MHz
  • Motherboard: E8C-EATX
  • OS: OS Elbrus 5.0-rc2
  • GPU: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 XL/XT [Radeon RX Vega 56/64] (rev c1)
  • Kernel: 5.4.0-1.1-e8c
  • Compiler: lcc:1.24.09:Feb-11-2020:e2k-v4-linux (gcc (GCC) 7.3.0 compatible)

Details of x86_64 workstation:

  • CPU: AMD Ryzen Threadripper 2990WX 32-Core Processor running at 3.0 GHz
  • Motherboard: MSI X399 SLI PLUS (MS-7B09)
  • GPU: Advanced Micro Devices, Inc. [AMD/ATI] Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM]
  • OS: Ubuntu 18.04.5 LTS
  • Kernel: 5.3.0-28-generic #30~18.04.1-Ubuntu
  • Compiler: gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0

Results:

Successfully performed mkdir build; cd build; cmake -DCMAKE_BUILD_TYPE=Release .. && make -j16 && sudo make install; no suspicious behavior found, no warnings produced on e2k; -Wint-to-pointer-cast produced at libftl/ingest.c:338:10 on x86_64, but this seems to be unavoidable considering return type of _ingest_get_hosts().

This pull request introduces support for warningless building of ftl-sdk as a requirement of [obs-studio](https://github.com/obsproject/obs-studio) on Elbrus hardware platform (which is based on Russian [Elbrus](https://en.wikipedia.org/wiki/Elbrus-8S) CPU family) with its native lcc (eLbrus Compiler Collection) compiler. As currently Elbrus-based stations are introduced into general puprose applications, including video streaming and recording, it is better to have OBS buildable on this platform directly from upstream without any warnings, rather than being patched with some specific patches prior to building, or producing mass of irrelevant warnings while being built. This was: * Built on Elbrus workstation (e2k-linux-gnu); * Built on x86_64 workstation (x86_64-linux-gnu) to be sure that nothing is broken on x86_64. Details of Elbrus workstation: * CPU: Elbrus-8C (formerly Elbrus-8S) running on 1300 MHz * Motherboard: E8C-EATX * OS: OS Elbrus 5.0-rc2 * GPU: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 XL/XT [Radeon RX Vega 56/64] (rev c1) * Kernel: 5.4.0-1.1-e8c * Compiler: lcc:1.24.09:Feb-11-2020:e2k-v4-linux (gcc (GCC) 7.3.0 compatible) Details of x86_64 workstation: * CPU: AMD Ryzen Threadripper 2990WX 32-Core Processor running at 3.0 GHz * Motherboard: MSI X399 SLI PLUS (MS-7B09) * GPU: Advanced Micro Devices, Inc. [AMD/ATI] Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] * OS: Ubuntu 18.04.5 LTS * Kernel: 5.3.0-28-generic #30~18.04.1-Ubuntu * Compiler: gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 Results: Successfully performed `mkdir build; cd build; cmake -DCMAKE_BUILD_TYPE=Release .. && make -j16 && sudo make install`; no suspicious behavior found, no warnings produced on e2k; `-Wint-to-pointer-cast` produced at `libftl/ingest.c:338:10` on x86_64, but this seems to be unavoidable considering return type of `_ingest_get_hosts()`.
ghost commented 2020-08-18 13:28:29 -05:00 (Migrated from github.com)

CLA assistant check
All CLA requirements met.

[![CLA assistant check](https://cla.opensource.microsoft.com/pull/badge/signed)](https://cla.opensource.microsoft.com/mixer/ftl-sdk?pullRequest=91) <br/>All CLA requirements met.
This pull request is broken due to missing fork information.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin 'makise-homura/e2k_support:makise-homura/e2k_support'
git switch 'makise-homura/e2k_support'

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch 'master'
git merge --no-ff 'makise-homura/e2k_support'
git switch 'makise-homura/e2k_support'
git rebase 'master'
git switch 'master'
git merge --ff-only 'makise-homura/e2k_support'
git switch 'makise-homura/e2k_support'
git rebase 'master'
git switch 'master'
git merge --no-ff 'makise-homura/e2k_support'
git switch 'master'
git merge --squash 'makise-homura/e2k_support'
git switch 'master'
git merge --ff-only 'makise-homura/e2k_support'
git switch 'master'
git merge 'makise-homura/e2k_support'
git push origin 'master'
Sign in to join this conversation.
No reviewers
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
gh-microsoft/ftl-sdk!91
No description provided.