-
Notifications
You must be signed in to change notification settings - Fork 5k
RISC-V support #36748
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
cc: @marek-safar |
SiFive just announced a new powerful RISC-V development board coming out this year. Will be a number of new developers using the hardware. Might be worth looking at RISC-V support again, especially in IoT scenarios. https://www.sifive.com/blog/the-heart-of-risc-v-development-is-unmatched |
The First Affordable RISC-V Computer Designed to Run Linux Also the Allwinner RISC-V chip to set to debut on $13 Linux hacker board soon. |
I assume that libunwind needs to be ported first to RISC-V, as coreclr depends on this library. Is this statement true? There is a closed port request libunwind/libunwind#99 |
The BL602 is gaining popularity. It's an alternative to the hugely popular ESP32 which is everywhere. |
It looks like the support has been merged in upstream now. |
Just noticed this issue and wanted to clarify something:
For the record, "supports" is an overstatement here. IIRC, you can just barely run 'hello world' with the interpreter, and not much more. The JIT backend for RISC-V is like 10% done at most. There's a lot of work to be done for Mono's RISC-V support to actually be usable. |
You're definitely right @alexrp. If I can get it to build, I'd be very keen to contribute to getting the mono support working, which if I understand correctly is the first step in getting .net vanilla support? |
I shall give a try |
I've thrown this up on gitpay to try and attract developers to perform this work https://gitpay.me/#/task/607 |
And bountysource https://app.bountysource.com/issues/98479258-risc-v-support |
@gbalykov @bartlomiejko Thank you. |
@clamp03 Based on the above, I updated the @dotnet/samsung group as follows: Removed @leemgs @idkiller @myungjoo @jyoungyun @sjsinju I could not add @rzsc because they are not a member of the dotnet org. I believe @jkotas has sent them an invite. Note that @denis-paranichev @o-lek @rzsc GitHub profiles do not indicate they are affiliated with Samsung. |
hi @BruceForstall, same thing, I would be greatful if you can add me to dotnet org. |
@Xinlong-Wu We have added the folks above so that we can include them in dotnet samsung team that we have been working with closely for a long time and the team alias is convenient for github workflows. We do not add folks to the dotnet org without a demonstrated need. |
@Xinlong-Wu has been contributing riscv support for mono. |
I appreciate @Xinlong-Wu contributions. dotnet org membership is not required for contributing. It is only needed for membership in a dotnet org team alias or to grant additional permissions. |
Thank you so much!!!!! |
I have turned on two-factor authentication and accepted invitation to the @dotnet organization. Is anything more I need to do, please? |
@rzsc I have added you to the https://github.com/orgs/dotnet/teams/samsung team. |
is native aot for risc-v also covered here? |
AOT on risc-v would open a huge possibilities even on small microcontrollers having a decent amount of DRAM (I have some of them) |
@BruceForstall @jkotas Could you add @SzpejnaDawid to @dotnet/samsung (and @dotnet if necessary)? He joined our team in April and will be contributing to .NET RISC-V. Thank you. |
I've got the DC ROMA2 version. Do you have instructions on how to get dotnet running in its prerelease form? |
@archanox, I will polish up https://github.com/am11/CrossRepoCITesting/blob/master/.github/workflows/linux-riscv64-runtime-build.yml to upload artifacts, then we will get the runtime package in its releases. Later I will switch it to build source build (runtime+aspnetcore+sdk+everything-else). For now, having runtime will be enough to run .NET assemblies. |
I uploaded somewhat recent .NET SDK build for Risc-V here: https://github.com/filipnavara/dotnet-riscv/releases/tag/v9.0.0-preview.7.24405.7 (should be .NET 9 Preview 7). It has the same baseline requirements as the build from @am11, which means that the official Debian images for StarFive VisionFive 2 don't work (too old glibc). I checked that it runs on Ubuntu 24.04 which has some prebuilt images for common boards/machines. |
@filipnavara I got error on Ubuntu 24.04 riscv64 on StarFive VisionFive 2:
Update §1: Started working after remove Update §2: All tests in my OSS projects are 🟢 green for now!!! Thanks a lot!!! |
https://github.com/pvelesko/dotnet_riscv/releases/tag/v8.0.101 built dotnet with statically linked |
would really need RISC-V support for https://github.com/NethermindEth/nethermind 🙏 |
I understand that the work on this is not undertaken by Microsoft, but rather Samsung hence having no official releases. But I'm wondering what the current state is for having a dotnet 9 release, if there's a release timeline, any blockers, outstanding work? I have a pioneer that's waiting in the midst that's waiting to run some of my workloads. |
Yes, that's correct. You can truck current state of the project here: #84834
At this moment tests pass rate for coreCLR is 99.8% and for coreFX about 97%, although there is still a lot of work to be done. Technically we have a working runtime, but the sdk is not yet fully built (there are some problems with msbuild - I'm working on it). |
Is there any progress on RISC-V support? Any updates would be appreciated. Thanks. |
.NET 10 SDK daily builds are now flowing: https://github.com/filipnavara/dotnet-riscv/actions/runs/14891223063. NativeAOT is working in this build. We will switch to preview cadence with the next preview (p5); for now, it's an on-demand workflow and artifacts are from |
@am11 A couple of questions please ...
Thanks! |
Official usually refers to Microsoft supported builds. That's very unlikely to happen, it is considered a community supported platform with the bulk of the work sponsored by Samsung.
As far as CPU flavors go, the baseline is RV64GC at the moment. There's no hard minimum requirement on RAM but the GC is likely to have some minimum allocation for the heap. It's known to work in 1Gb containers on Linux, so the limit is below that. |
Thank you @filipnavara ! |
Are there any plans to raise that requirement to RV64GCV in the near future? |
I think it won't happen in a short term. Vectorization is not implemented yet in JIT. Once it is implemented, and e.g. the Ubuntu LTS baselines to RVA23, then it would make sense to raise the requirement. Since the current Ubuntu 24.04 LTS' lowest profile support is RVA20, we can align with that. |
Posting because I cannot find mention anywhere
I have seen that mono supports the RISC-V architecture but cannot find anything relating to .NET 5 support for RISC-V.
Are there any plans to support said architecture on future releases of .NET like ARM64 has been added?
The text was updated successfully, but these errors were encountered: