Skip to content

Commit bdbede8

Browse files
authored
Merge pull request rust-lang#2658 from rust-lang/rustc-pull
Rustc pull update
2 parents e4e9820 + cfeb78f commit bdbede8

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

rust-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
d3e1ccdf40ae7b7a6dc81edc073d80dad7b66f75
1+
1be6b13be73dc12e98e51b403add4c41a0b77759

src/offload/usage.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,16 @@ We currently work on launching the following Rust kernel on the GPU. To follow a
55

66
```rust
77
#![feature(abi_gpu_kernel)]
8+
#![feature(rustc_attrs)]
9+
#![feature(core_intrinsics)]
810
#![no_std]
911

1012
#[cfg(target_os = "linux")]
1113
extern crate libc;
1214
#[cfg(target_os = "linux")]
1315
use libc::c_char;
1416

17+
#[cfg(target_os = "linux")]
1518
use core::mem;
1619

1720
#[panic_handler]
@@ -38,7 +41,7 @@ fn main() {
3841
}
3942

4043
unsafe {
41-
kernel_1(array_c);
44+
kernel(array_c);
4245
}
4346
core::hint::black_box(&array_c);
4447
unsafe {
@@ -52,6 +55,11 @@ fn main() {
5255
}
5356
}
5457

58+
#[inline(never)]
59+
unsafe fn kernel(x: *mut [f64; 256]) {
60+
core::intrinsics::offload(kernel_1, (x,))
61+
}
62+
5563
#[cfg(target_os = "linux")]
5664
unsafe extern "C" {
5765
pub fn kernel_1(array_b: *mut [f64; 256]);
@@ -60,6 +68,7 @@ unsafe extern "C" {
6068
#[cfg(not(target_os = "linux"))]
6169
#[unsafe(no_mangle)]
6270
#[inline(never)]
71+
#[rustc_offload_kernel]
6372
pub extern "gpu-kernel" fn kernel_1(x: *mut [f64; 256]) {
6473
unsafe { (*x)[0] = 21.0 };
6574
}

0 commit comments

Comments
 (0)