Use builtin nvptx64-nvidia-cuda target

This commit is contained in:
gnzlbg 2019-02-13 17:43:11 +01:00 committed by gnzlbg
parent fe06593c6f
commit 6affc41386
4 changed files with 16 additions and 90 deletions

View file

@ -57,13 +57,7 @@ matrix:
- name: "wasm32-unknown-unknown"
env: TARGET=wasm32-unknown-unknown
- name: "nvptx64-nvidia-cuda - cross compiled, build libcore only"
env: TARGET=x86_64-unknown-linux-gnu CROSS_TARGET=nvptx64-nvidia-cuda-cross NORUN=1 NOSTD=1
install:
- travis_retry rustup target add $TARGET
- travis_retry rustup component add rust-src
- cargo install xargo
- xargo --version
- mkdir -p $HOME/.xargo
env: TARGET=x86_64-unknown-linux-gnu NORUN=1 NOSTD=1
- name: "thumbv6m-none-eabi - build libcore only"
env: TARGET=thumbv6m-none-eabi NORUN=1 NOSTD=1
script: ci/run.sh
@ -105,7 +99,7 @@ matrix:
install: travis_retry rustup target add $TARGET
script:
- cargo generate-lockfile
- ci/run-docker.sh $TARGET $CROSS_TARGET $FEATURES
- ci/run-docker.sh $TARGET
notifications:
email:

View file

@ -1,16 +0,0 @@
{
"arch": "nvptx64"
, "cpu": "sm_35"
, "data-layout": "e-i64:64-i128:128-v16:16-v32:32-n16:32:64"
, "linker": false
, "linker-flavor": "ld"
, "llvm-target": "nvptx64-nvidia-cuda"
, "max-atomic-width": 0
, "merge-functions": "disabled"
, "obj-is-bitcode": true
, "os": "cuda"
, "panic-strategy": "abort"
, "target-c-int-width": "32"
, "target-endian": "little"
, "target-pointer-width": "64"
}

View file

@ -7,16 +7,8 @@ set -ex
run() {
target=$(echo "${1}" | sed 's/-emulated//')
cross="0"
if [ -z "${2}" ]; then
echo "Building docker container for TARGET=${1}"
docker build -t stdsimd -f "ci/docker/${1}/Dockerfile" ci/
else
target=$(echo "${2}" | sed 's/-cross//')
cross="1"
echo "Building docker container for CROSS_TARGET=${2}"
docker build -t stdsimd -f "ci/docker/${2}/Dockerfile" ci/
fi
echo "Building docker container for TARGET=${1}"
docker build -t stdsimd -f "ci/docker/${1}/Dockerfile" ci/
mkdir -p target
echo "Running docker"
# shellcheck disable=SC2016
@ -26,8 +18,6 @@ run() {
--init \
--volume "${HOME}"/.cargo:/cargo-h \
--env CARGO_HOME=/cargo-h \
--volume "${HOME}"/.xargo:/xargo-h \
--env XARGO_HOME=/xargo-h \
--volume "$(rustc --print sysroot)":/rust:ro \
--env TARGET="${target}" \
--env STDSIMD_TEST_EVERYTHING \
@ -37,7 +27,6 @@ run() {
--env NORUN \
--env RUSTFLAGS \
--env STDSIMD_TEST_NORUN \
--env CROSS="${cross}" \
--volume "$(pwd)":/checkout:ro \
--volume "$(pwd)"/target:/checkout/target \
--workdir /checkout \
@ -52,5 +41,5 @@ if [ -z "$1" ]; then
run "${d}"
done
else
run "${1}" "${2}"
run "${1}"
fi

View file

@ -30,59 +30,18 @@ echo "FEATURES=${FEATURES}"
echo "OBJDUMP=${OBJDUMP}"
echo "STDSIMD_DISABLE_ASSERT_INSTR=${STDSIMD_DISABLE_ASSERT_INSTR}"
echo "STDSIMD_TEST_EVERYTHING=${STDSIMD_TEST_EVERYTHING}"
echo "CROSS=${CROSS}"
cargo_setup() {
if [ "$CROSS" = "1" ]
then
export RUST_TARGET_PATH="/checkout/ci/cross"
echo "RUST_TARGET_PATH=${RUST_TARGET_PATH}"
fi
}
cargo_test() {
if [ "$CROSS" = "1" ]
then
cmd="/cargo-h/bin/xargo"
else
cmd="cargo"
fi
cmd="cargo"
subcmd="test"
if [ "$NORUN" = "1" ]
then
if [ "$CROSS" = "1" ]
then
export subcmd="rustc"
else
export subcmd="build"
fi
if [ "$NORUN" = "1" ]; then
export subcmd="build"
fi
cmd="$cmd ${subcmd} --target=$TARGET $1"
cmd="$cmd -- $2"
# Un-commenting this disables the test output and shows only a summary:
#if [ "$NORUN" != "1" ]
#then
# if [ "$TARGET" != "wasm32-unknown-unknown" ]
# then
# cmd="$cmd --quiet"
# fi
#fi
if [ "$CROSS" = "1" ]
then
cmd="$cmd --emit=asm"
fi
$cmd
}
cargo_output() {
if [ "$CROSS" = "1" ]
then
find /checkout/target -name "*.s"
fi
}
cargo_setup
CORE_ARCH="--manifest-path=crates/core_arch/Cargo.toml"
STD_DETECT="--manifest-path=crates/std_detect/Cargo.toml"
STDSIMD_EXAMPLES="--manifest-path=examples/Cargo.toml"
@ -101,8 +60,6 @@ if [ "$NOSTD" != "1" ]; then
cargo_test "${STDSIMD_EXAMPLES} --release"
fi
cargo_output
# Test targets compiled with extra features.
case ${TARGET} in
x86*)
@ -123,9 +80,11 @@ case ${TARGET} in
esac
# Test examples
(
cd examples
cargo test
echo test | cargo run --release hex
)
if [ "$NORUN" != "1" ] && [ "$NOSTD" != 1 ]; then
# Test examples
(
cd examples
cargo test --target "$TARGET"
echo test | cargo run --release hex
)
fi