]> git.lizzy.rs Git - rust.git/blob - src/doc/rustc/src/platform-support/nvptx64-nvidia-cuda.md
Rollup merge of #106940 - oli-obk:tait_error, r=compiler-errors
[rust.git] / src / doc / rustc / src / platform-support / nvptx64-nvidia-cuda.md
1 # `nvptx64-nvidia-cuda`
2
3 **Tier: 2**
4
5 This is the target meant for deploying code for Nvidia® accelerators based on their CUDA
6 platform.
7
8 ## Target maintainers
9
10 - Riccardo D'Ambrosio, https://github.com/RDambrosio016
11 - Kjetil Kjeka, https://github.com/kjetilkjeka
12
13 <!-- FIXME: fill this out
14
15 ## Requirements
16
17 Does the target support host tools, or only cross-compilation? Does the target
18 support std, or alloc (either with a default allocator, or if the user supplies
19 an allocator)?
20
21 Document the expectations of binaries built for the target. Do they assume
22 specific minimum features beyond the baseline of the CPU/environment/etc? What
23 version of the OS or environment do they expect?
24
25 Are there notable `#[target_feature(...)]` or `-C target-feature=` values that
26 programs may wish to use?
27
28 What calling convention does `extern "C"` use on the target?
29
30 What format do binaries use by default? ELF, PE, something else?
31
32 ## Building the target
33
34 If Rust doesn't build the target by default, how can users build it? Can users
35 just add it to the `target` list in `config.toml`?
36
37 ## Building Rust programs
38
39 Rust does not yet ship pre-compiled artifacts for this target. To compile for
40 this target, you will either need to build Rust with the target enabled (see
41 "Building the target" above), or build your own copy of `core` by using
42 `build-std` or similar.
43
44 ## Testing
45
46 Does the target support running binaries, or do binaries have varying
47 expectations that prevent having a standard way to run them? If users can run
48 binaries, can they do so in some common emulator, or do they need native
49 hardware? Does the target support running the Rust testsuite?
50
51 ## Cross-compilation toolchains and C code
52
53 Does the target support C code? If so, what toolchain target should users use
54 to build compatible C code? (This may match the target triple, or it may be a
55 toolchain for a different target triple, potentially with specific options or
56 caveats.)
57
58 -->