Skip to content

Commit

Permalink
Add change-scala-versions.sh and rearrange artifacts to support CUDA 8.0
Browse files Browse the repository at this point in the history
  • Loading branch information
saudet committed Sep 14, 2016
1 parent 2575977 commit 4edcaff
Show file tree
Hide file tree
Showing 173 changed files with 186 additions and 181 deletions.
86 changes: 86 additions & 0 deletions change-cuda-versions.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
#!/usr/bin/env bash

#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# This shell script is adapted from Apache Flink (in turn, adapted from Apache Spark) some modifications.

set -e

VALID_VERSIONS=( 7.5 8.0 )
CUDA_75_VERSION="7\.5"
CUDA_80_VERSION="8\.0"

usage() {
echo "Usage: $(basename $0) [-h|--help] <cuda version to be used>
where :
-h| --help Display this help text
valid cuda version values : ${VALID_VERSIONS[*]}
" 1>&2
exit 1
}

if [[ ($# -ne 1) || ( $1 == "--help") || $1 == "-h" ]]; then
usage
fi

TO_VERSION=$1

check_cuda_version() {
for i in ${VALID_VERSIONS[*]}; do [ $i = "$1" ] && return 0; done
echo "Invalid CUDA version: $1. Valid versions: ${VALID_VERSIONS[*]}" 1>&2
exit 1
}


check_cuda_version "$TO_VERSION"

if [ $TO_VERSION = "8.0" ]; then
FROM_BINARY="-7\.5"
TO_BINARY="-8\.0"
FROM_VERSION=$CUDA_75_VERSION
TO_VERSION=$CUDA_80_VERSION
else
FROM_BINARY="-8\.0"
TO_BINARY="-7\.5"
FROM_VERSION=$CUDA_80_VERSION
TO_VERSION=$CUDA_75_VERSION
fi

sed_i() {
sed -e "$1" "$2" > "$2.tmp" && mv "$2.tmp" "$2"
}

export -f sed_i

echo "Updating CUDA versions in pom.xml files to CUDA $1";

BASEDIR=$(dirname $0)

#Artifact ids, ending with "-7.5" or "-8.0". nd4j-cuda, deeplearning4j-cuda, etc.
find "$BASEDIR" -name 'pom.xml' -not -path '*target*' \
-exec bash -c "sed_i 's/\(artifactId>.*\)'$FROM_BINARY'<\/artifactId>/\1'$TO_BINARY'<\/artifactId>/g' {}" \;

#Artifact ids, ending with "-7.5-platform" or "-8.0-platform". nd4j-cuda-platform, etc.
find "$BASEDIR" -name 'pom.xml' -not -path '*target*' \
-exec bash -c "sed_i 's/\(artifactId>.*\)'$FROM_BINARY'-platform<\/artifactId>/\1'$TO_BINARY'-platform<\/artifactId>/g' {}" \;

#CUDA versions, like <cuda.version>7.5</cuda.version>
find "$BASEDIR" -name 'pom.xml' -not -path '*target*' \
-exec bash -c "sed_i 's/\(cuda.version>\)'$FROM_VERSION'<\/cuda.version>/\1'$TO_VERSION'<\/cuda.version>/g' {}" \;

echo "Done updating CUDA versions.";
86 changes: 0 additions & 86 deletions nd4j-backends/nd4j-backend-impls/nd4j-cuda-7.5-platform/pom.xml

This file was deleted.

49 changes: 49 additions & 0 deletions nd4j-backends/nd4j-backend-impls/nd4j-cuda-platform/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>nd4j-backend-impls</artifactId>
<groupId>org.nd4j</groupId>
<version>0.5.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>nd4j-cuda-7.5-platform</artifactId>
<name>nd4j-cuda-platform</name>

<properties>
<cuda.version>7.5</cuda.version>
<nd4j.backend>nd4j-cuda-${cuda.version}</nd4j.backend>
</properties>

<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>${nd4j.backend}</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>${nd4j.backend}</artifactId>
<version>${project.version}</version>
<classifier>${javacpp.platform.linux-x86_64}</classifier>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>${nd4j.backend}</artifactId>
<version>${project.version}</version>
<classifier>${javacpp.platform.macosx-x86_64}</classifier>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>${nd4j.backend}</artifactId>
<version>${project.version}</version>
<classifier>${javacpp.platform.windows-x86_64}</classifier>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>${nd4j.backend}</artifactId>
<version>${project.version}</version>
<classifier>${javacpp.platform.linux-ppc64le}</classifier>
</dependency>
</dependencies>

</project>
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,12 @@
<modelVersion>4.0.0</modelVersion>

<artifactId>nd4j-cuda-7.5</artifactId>
<packaging>jar</packaging>
<name>nd4j-cuda</name>

<properties>
<cuda.version>7.5</cuda.version>
</properties>

<name>nd4j-cuda-7.5</name>
<build>
<testSourceDirectory>../../nd4j-tests/src/test/java</testSourceDirectory>
<testResources>
Expand Down Expand Up @@ -83,7 +86,10 @@
<includePath>${env.LIBND4J_HOME}/blas</includePath>
<includePath>${env.LIBND4J_HOME}/include</includePath>
</includePaths>
<linkPath>${env.LIBND4J_HOME}/blasbuild/cuda/blas</linkPath>
<linkPaths>
<linkPath>${env.LIBND4J_HOME}/blasbuild/cuda-${cuda.version}/blas</linkPath>
<linkPath>${env.LIBND4J_HOME}/blasbuild/cuda/blas</linkPath>
</linkPaths>
</configuration>
<executions>
<execution>
Expand Down
46 changes: 4 additions & 42 deletions nd4j-backends/nd4j-backend-impls/nd4j-native-platform/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@
<modelVersion>4.0.0</modelVersion>

<artifactId>nd4j-native-platform</artifactId>
<packaging>jar</packaging>

<name>nd4j-native-platform</name>

<properties>
Expand All @@ -25,61 +23,25 @@
<groupId>${project.groupId}</groupId>
<artifactId>${nd4j.backend}</artifactId>
<version>${project.version}</version>
<classifier>${javacpp.platform0}</classifier>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>${nd4j.backend}</artifactId>
<version>${project.version}</version>
<classifier>${javacpp.platform1}</classifier>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>${nd4j.backend}</artifactId>
<version>${project.version}</version>
<classifier>${javacpp.platform2}</classifier>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>${nd4j.backend}</artifactId>
<version>${project.version}</version>
<classifier>${javacpp.platform3}</classifier>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>${nd4j.backend}</artifactId>
<version>${project.version}</version>
<classifier>${javacpp.platform4}</classifier>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>${nd4j.backend}</artifactId>
<version>${project.version}</version>
<classifier>${javacpp.platform5}</classifier>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>${nd4j.backend}</artifactId>
<version>${project.version}</version>
<classifier>${javacpp.platform6}</classifier>
<classifier>${javacpp.platform.linux-x86_64}</classifier>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>${nd4j.backend}</artifactId>
<version>${project.version}</version>
<classifier>${javacpp.platform7}</classifier>
<classifier>${javacpp.platform.macosx-x86_64}</classifier>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>${nd4j.backend}</artifactId>
<version>${project.version}</version>
<classifier>${javacpp.platform8}</classifier>
<classifier>${javacpp.platform.windows-x86_64}</classifier>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>${nd4j.backend}</artifactId>
<version>${project.version}</version>
<classifier>${javacpp.platform9}</classifier>
<classifier>${javacpp.platform.linux-ppc64le}</classifier>
</dependency>
</dependencies>

Expand Down
2 changes: 0 additions & 2 deletions nd4j-backends/nd4j-backend-impls/nd4j-native/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@
<modelVersion>4.0.0</modelVersion>

<artifactId>nd4j-native</artifactId>
<packaging>jar</packaging>

<name>nd4j-native</name>

<dependencies>
Expand Down
Loading

0 comments on commit 4edcaff

Please sign in to comment.