Merge branch 'develop' into issue2116

This commit is contained in:
Martin Kroeker 2019-05-09 09:30:30 +02:00 committed by GitHub
commit 090d8b5681
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 38 additions and 38 deletions

View File

@ -177,8 +177,8 @@ matrix:
dist: trusty dist: trusty
sudo: required sudo: required
services: docker services: docker
env: IMAGE_ARCH=arm32 TARGET_ARCH=ARMV6 COMPILER=gcc env: IMAGE_ARCH=arm32 TARGET_ARCH=ARMV6 COMPILER=clang
name: "Emulated Build for ARMV6 with gcc" name: "Emulated Build for ARMV6 with clang"
before_install: sudo docker run --rm --privileged multiarch/qemu-user-static:register --reset before_install: sudo docker run --rm --privileged multiarch/qemu-user-static:register --reset
script: | script: |
echo "FROM openblas/alpine:${IMAGE_ARCH} echo "FROM openblas/alpine:${IMAGE_ARCH}
@ -193,9 +193,6 @@ matrix:
-D CMAKE_BUILD_TYPE=Release ../ && \ -D CMAKE_BUILD_TYPE=Release ../ && \
cmake --build ." > Dockerfile cmake --build ." > Dockerfile
docker build . docker build .
- <<: *emulated-arm
env: IMAGE_ARCH=arm32 TARGET_ARCH=ARMV6 COMPILER=clang
name: "Emulated Build for ARMV6 with clang"
- <<: *emulated-arm - <<: *emulated-arm
env: IMAGE_ARCH=arm64 TARGET_ARCH=ARMV8 COMPILER=gcc env: IMAGE_ARCH=arm64 TARGET_ARCH=ARMV8 COMPILER=gcc
name: "Emulated Build for ARMV8 with gcc" name: "Emulated Build for ARMV8 with gcc"
@ -204,7 +201,6 @@ matrix:
name: "Emulated Build for ARMV8 with clang" name: "Emulated Build for ARMV8 with clang"
allow_failures: allow_failures:
- env: IMAGE_ARCH=arm32 TARGET_ARCH=ARMV6 COMPILER=gcc
- env: IMAGE_ARCH=arm32 TARGET_ARCH=ARMV6 COMPILER=clang - env: IMAGE_ARCH=arm32 TARGET_ARCH=ARMV6 COMPILER=clang
- env: IMAGE_ARCH=arm64 TARGET_ARCH=ARMV8 COMPILER=gcc - env: IMAGE_ARCH=arm64 TARGET_ARCH=ARMV8 COMPILER=gcc
- env: IMAGE_ARCH=arm64 TARGET_ARCH=ARMV8 COMPILER=clang - env: IMAGE_ARCH=arm64 TARGET_ARCH=ARMV8 COMPILER=clang

View File

@ -6,6 +6,8 @@ Travis CI: [![Build Status](https://travis-ci.org/xianyi/OpenBLAS.svg?branch=dev
AppVeyor: [![Build status](https://ci.appveyor.com/api/projects/status/09sohd35n8nkkx64/branch/develop?svg=true)](https://ci.appveyor.com/project/xianyi/openblas/branch/develop) AppVeyor: [![Build status](https://ci.appveyor.com/api/projects/status/09sohd35n8nkkx64/branch/develop?svg=true)](https://ci.appveyor.com/project/xianyi/openblas/branch/develop)
[![Build Status](https://dev.azure.com/xianyi/OpenBLAS/_apis/build/status/xianyi.OpenBLAS?branchName=develop)](https://dev.azure.com/xianyi/OpenBLAS/_build/latest?definitionId=1&branchName=develop)
## Introduction ## Introduction
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.

View File

@ -1,21 +1,18 @@
# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
trigger: trigger:
- master # start a new build for every push
batch: False
branches:
include:
- develop
pool: jobs:
vmImage: 'ubuntu-latest' - job: ARMv6_gcc
pool:
steps: vmImage: 'ubuntu-16.04'
- script: echo Hello, world! steps:
displayName: 'Run a one-line script' - script: |
docker run --rm --privileged multiarch/qemu-user-static:register --reset
- script: | echo "FROM openblas/alpine:arm32
docker run --rm --privileged multiarch/qemu-user-static:register --reset
echo "FROM openblas/alpine:arm32
COPY . /tmp/openblas COPY . /tmp/openblas
RUN mkdir /tmp/openblas/build && \ RUN mkdir /tmp/openblas/build && \
cd /tmp/openblas/build && \ cd /tmp/openblas/build && \
@ -27,10 +24,24 @@ steps:
-D BUILD_WITHOUT_CBLAS=ON \ -D BUILD_WITHOUT_CBLAS=ON \
-D CMAKE_BUILD_TYPE=Release ../ && \ -D CMAKE_BUILD_TYPE=Release ../ && \
cmake --build ." > Dockerfile cmake --build ." > Dockerfile
docker build . docker build .
displayName: Run ARMV6 docker build displayName: Run ARMV6 docker build
# manylinux1 is useful to test because the
#- script: | # standard Docker container uses an old version
# echo Add other tasks to build, test, and deploy your project. # of gcc / glibc
# echo See https://aka.ms/yaml - job: manylinux1_gcc
# displayName: 'Run a multi-line script' pool:
vmImage: 'ubuntu-16.04'
steps:
- script: |
echo "FROM quay.io/pypa/manylinux1_x86_64
COPY . /tmp/openblas
RUN cd /tmp/openblas && \
COMMON_FLAGS='DYNAMIC_ARCH=1 TARGET=NEHALEM NUM_THREADS=32' && \
BTYPE='BINARY=64' CC=gcc && \
make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE && \
make -C test $COMMON_FLAGS $BTYPE && \
make -C ctest $COMMON_FLAGS $BTYPE && \
make -C utest $COMMON_FLAGS $BTYPE" > Dockerfile
docker build .
displayName: Run manylinux1 docker build

View File

@ -279,9 +279,6 @@ static int inner_advanced_thread(blas_arg_t *args, BLASLONG *range_m, BLASLONG *
for (i = 0; i < args -> nthreads; i++) for (i = 0; i < args -> nthreads; i++)
#if 1 #if 1
{ {
LOCK_COMMAND(&getrf_lock);
jw = job[mypos].working[i][CACHE_LINE_SIZE * bufferside];
UNLOCK_COMMAND(&getrf_lock);
do { do {
LOCK_COMMAND(&getrf_lock); LOCK_COMMAND(&getrf_lock);
jw = job[mypos].working[i][CACHE_LINE_SIZE * bufferside]; jw = job[mypos].working[i][CACHE_LINE_SIZE * bufferside];
@ -368,9 +365,6 @@ static int inner_advanced_thread(blas_arg_t *args, BLASLONG *range_m, BLASLONG *
if ((current != mypos) && (!is)) { if ((current != mypos) && (!is)) {
#if 1 #if 1
LOCK_COMMAND(&getrf_lock);
jw = job[current].working[mypos][CACHE_LINE_SIZE * bufferside];
UNLOCK_COMMAND(&getrf_lock);
do { do {
LOCK_COMMAND(&getrf_lock); LOCK_COMMAND(&getrf_lock);
jw = job[current].working[mypos][CACHE_LINE_SIZE * bufferside]; jw = job[current].working[mypos][CACHE_LINE_SIZE * bufferside];
@ -402,9 +396,6 @@ static int inner_advanced_thread(blas_arg_t *args, BLASLONG *range_m, BLASLONG *
for (i = 0; i < args -> nthreads; i++) { for (i = 0; i < args -> nthreads; i++) {
for (xxx = 0; xxx < DIVIDE_RATE; xxx++) { for (xxx = 0; xxx < DIVIDE_RATE; xxx++) {
#if 1 #if 1
LOCK_COMMAND(&getrf_lock);
jw = job[mypos].working[i][CACHE_LINE_SIZE *xxx];
UNLOCK_COMMAND(&getrf_lock);
do { do {
LOCK_COMMAND(&getrf_lock); LOCK_COMMAND(&getrf_lock);
jw = job[mypos].working[i][CACHE_LINE_SIZE *xxx]; jw = job[mypos].working[i][CACHE_LINE_SIZE *xxx];