Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
154 commits
Select commit Hold shift + click to select a range
10614d2
first pass at source upload
jcanny Oct 18, 2012
6598372
cleanup
jcanny Oct 18, 2012
c03f9de
added libs
jcanny Oct 18, 2012
eb509d5
getting there
jcanny Oct 18, 2012
ed013cc
filling holes
jcanny Oct 18, 2012
e2a7595
jni complete
jcanny Oct 18, 2012
d77b1d9
improving build and run scripts
jcanny Oct 19, 2012
0da9f2d
add ptplot
jcanny Oct 19, 2012
4842090
oops - missed the main libs
jcanny Oct 19, 2012
1dae35c
filling holes
jcanny Oct 19, 2012
79d49fc
update README
jcanny Oct 19, 2012
a3d5099
checking runnability
jcanny Oct 19, 2012
a2265f8
added bidmat.cmd
jcanny Oct 19, 2012
b0dcfe6
added bidmat_init.scala
jcanny Oct 19, 2012
2bc19b8
added plugins.sbt
jcanny Oct 19, 2012
733a063
fixed generics
jcanny Oct 20, 2012
978553a
fixed generics 2
jcanny Oct 20, 2012
edc64d3
update..
jcanny Oct 20, 2012
05252b2
Added Learner
jcanny Oct 21, 2012
62dc1dc
fix makefile
jcanny Oct 21, 2012
fbaa2c0
missing operator
jcanny Oct 21, 2012
2baeb74
missing operator
jcanny Oct 21, 2012
e0f1143
added linux libs
jcanny Oct 21, 2012
5c88697
fixed VSL fctn
jcanny Oct 21, 2012
884916a
fixed VSL fctn
jcanny Oct 21, 2012
7dd842b
test
Oct 21, 2012
10241e6
fixed term width
jcanny Oct 21, 2012
2258b35
fixed term width
jcanny Oct 21, 2012
70f7a5d
added regression models
jcanny Oct 22, 2012
9f1b10b
cleared out learning code
jcanny Oct 22, 2012
51e6558
Copyrights in text files
jcanny Oct 22, 2012
01185b9
added dependent libs
Oct 22, 2012
ba0ee39
added copyright notices
jcanny Oct 22, 2012
719170d
fix conflict
Oct 22, 2012
8d5c366
GMat generics
jcanny Oct 22, 2012
fd2a51c
fixing generics
jcanny Oct 22, 2012
b3342b4
fixes to GPU generics
jcanny Oct 23, 2012
095849a
Added multithreaded linux libs
Oct 23, 2012
448a270
fixes to linux compile
Oct 24, 2012
4487437
fixes to linux compile
Oct 24, 2012
87ee3f2
fix windows compile
jcanny Oct 24, 2012
dff245b
added back main jar
Oct 24, 2012
d289361
Updated to CUDA 5.0
jcanny Oct 26, 2012
bb7b845
Updated to CUDA 5.0
jcanny Oct 26, 2012
f3d6f15
Updated to CUDA 5.0
jcanny Oct 26, 2012
440bbd3
Updated to CUDA 5.0
jcanny Oct 26, 2012
7bd0e5e
fixed makefile for Linux
jcanny Oct 26, 2012
edc6737
fixed exception with no CUDA driver
jcanny Oct 26, 2012
3dac86e
fixed exception with no CUDA driver
jcanny Oct 26, 2012
6633805
added 5.0 jars
jcanny Oct 26, 2012
f11b7f0
fixed exception with no CUDA driver
jcanny Oct 26, 2012
d393204
fixed exception with no CUDA driver
jcanny Oct 26, 2012
897411f
fixed exception with no CUDA driver
jcanny Oct 26, 2012
61e19c8
fixed exception with no CUDA driver
jcanny Oct 26, 2012
613ce53
fixed exception with no CUDA driver
jcanny Oct 26, 2012
b8e89c4
fixed exception with no CUDA driver
jcanny Oct 26, 2012
c14c67e
fixed exception with no CUDA driver
jcanny Oct 26, 2012
c69bcd1
fixed exception with no CUDA driver
jcanny Oct 26, 2012
3cd770b
fixed exception with no CUDA driver
jcanny Oct 26, 2012
f912b01
fixed exception with no CUDA driver
jcanny Oct 26, 2012
836b3ee
added CUDA 5 jars
jcanny Oct 27, 2012
d7c7a1e
tidied JCUDA libs
jcanny Oct 27, 2012
c631e4b
fixes to cuda libs
jcanny Oct 27, 2012
48f78fe
tweaks to calling script
jcanny Oct 27, 2012
9518e22
commited JCUDA win64 libs
jcanny Oct 27, 2012
2a10b27
committed JCUDA4.2 libs
jcanny Oct 27, 2012
5bcd8dd
print CUDA version
jcanny Oct 27, 2012
d1a920d
fixed CUDA version info
jcanny Oct 27, 2012
20582a0
added device sync to GMat reduce ops
jcanny Oct 30, 2012
c65fc61
added libiomp.so
jcanny Oct 31, 2012
8e01114
fixes to windows dlls
jcanny Nov 1, 2012
08bdfc6
fixed bash script
jcanny Nov 1, 2012
7d5513c
fast HDF5 IO
jcanny Nov 2, 2012
ba0119a
fast HDF5 IO
jcanny Nov 2, 2012
33c3f72
fast HDF5 IO
jcanny Nov 2, 2012
dbbe673
fast HDF5 IO
jcanny Nov 2, 2012
7439b29
fast HDF5 IO
jcanny Nov 2, 2012
19489ac
fast HDF5 IO
jcanny Nov 2, 2012
4699349
fast HDF5 IO
jcanny Nov 2, 2012
1f88502
fast HDF5 IO
jcanny Nov 2, 2012
3447fd4
fast HDF5 IO
jcanny Nov 2, 2012
0bbb6f1
fast HDF5 IO
jcanny Nov 2, 2012
b115cfd
fast HDF5 IO
jcanny Nov 2, 2012
3404133
test parallel IO
jcanny Nov 2, 2012
25a6c96
test parallel IO
jcanny Nov 2, 2012
3b9e893
test parallel IO
jcanny Nov 2, 2012
1207e62
test parallel IO
jcanny Nov 2, 2012
e44d503
test parallel IO
jcanny Nov 2, 2012
8410bbd
test parallel IO
jcanny Nov 2, 2012
e90f071
added linux memcpy
jcanny Nov 2, 2012
054d976
test parallel IO
jcanny Nov 2, 2012
7ff96c0
test parallel IO
jcanny Nov 2, 2012
8a25575
test parallel IO
jcanny Nov 2, 2012
0a73a1a
test parallel IO
jcanny Nov 2, 2012
7a808fe
Merge branch 'master' of https://github.com/jcanny/BIDMat
jcanny Nov 2, 2012
f582c92
test parallel IO
jcanny Nov 2, 2012
d4274fe
test parallel IO
jcanny Nov 2, 2012
a55cec6
test parallel IO
jcanny Nov 2, 2012
58bfd11
test parallel IO
jcanny Nov 2, 2012
5541bbd
test parallel IO
jcanny Nov 2, 2012
2f8c651
Fix linux so
jcanny Nov 2, 2012
f75eb73
test parallel IO
jcanny Nov 2, 2012
ba28e4a
test parallel IO
jcanny Nov 2, 2012
9208e32
test parallel IO
jcanny Nov 2, 2012
8060c5a
test parallel IO
jcanny Nov 2, 2012
9d0652c
test parallel IO
jcanny Nov 2, 2012
67771a0
test parallel IO
jcanny Nov 2, 2012
22ced9d
test parallel IO
jcanny Nov 2, 2012
f8a4999
done with parallel IO
jcanny Nov 2, 2012
9772de4
done with parallel IO
jcanny Nov 2, 2012
e075ece
fixes to plotting
jcanny Nov 3, 2012
e7f57f2
trying szip compression
jcanny Nov 3, 2012
dc177ba
trying szip compression
jcanny Nov 3, 2012
ec1436c
trying szip compression
jcanny Nov 3, 2012
40f2e45
szip working
jcanny Nov 3, 2012
8d88082
szip working
jcanny Nov 3, 2012
78ef4cd
szip working
jcanny Nov 3, 2012
9b9b899
szip working
jcanny Nov 3, 2012
7395834
fixed CUDA checking
Nov 4, 2012
3261d6b
added eclipse project files
jcanny Nov 4, 2012
44dc9f3
added eclipse project files
jcanny Nov 4, 2012
2f99879
Multithreaded FMat operators
jcanny Nov 5, 2012
717a5d9
Multithreaded FMat operators
jcanny Nov 5, 2012
a12e819
Fixed CUDA startup test
jcanny Nov 5, 2012
955d0dd
Fixed startup script
jcanny Nov 5, 2012
b09fed6
finalized startup script
jcanny Nov 5, 2012
50f17ba
fixes to support recycling
jcanny Nov 6, 2012
12d375b
Fixes for NMF
jcanny Nov 6, 2012
6d74c3c
fixes to NMF
jcanny Nov 7, 2012
8868755
fixes to copy
jcanny Nov 9, 2012
5011d96
fixes to copy
jcanny Nov 9, 2012
315e2f3
fixes to copy
jcanny Nov 9, 2012
aba13ef
oops made sequential lib
jcanny Nov 9, 2012
901d61f
deeper generics
jcanny Nov 11, 2012
7a3971c
fixes to recycling
jcanny Nov 12, 2012
8b5a372
fixes for multi_GPU threading
jcanny Nov 14, 2012
95adab5
rebuilt jar
jcanny Nov 14, 2012
891499c
fixes to SMat recycle
jcanny Nov 14, 2012
9f2608d
xG implemented
jcanny Nov 14, 2012
d4d4ed2
xG implemented
jcanny Nov 14, 2012
45a4dcf
xG implemented
jcanny Nov 14, 2012
85bf29f
xG implemented
jcanny Nov 14, 2012
c4f0db5
xG implemented
jcanny Nov 14, 2012
2108595
xG implemented
jcanny Nov 15, 2012
7cd0f80
fixes to multithreaded Learner
jcanny Nov 15, 2012
4a0b942
fixes to multithreaded Learner
jcanny Nov 15, 2012
8d6bdb2
fixes to max/min
jcanny Nov 25, 2012
3d45366
improved sorting
jcanny Nov 26, 2012
6bb9473
fixes to sorting
jcanny Nov 27, 2012
e87983d
test commit
nbjsw Nov 27, 2012
ca0d88d
test commit 2
nbjsw Nov 27, 2012
575a914
test file removed
nbjsw Nov 27, 2012
596b6e0
test~ file removed
nbjsw Nov 27, 2012
1b652cf
Beta version of heat map implemented
nbjsw Nov 27, 2012
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/main/scala"/>
<classpathentry kind="src" path="src/test/scala"/>
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="con" path="org.scala-ide.sdt.launching.SCALA_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="C:/Users/jfc.EECS/.ivy2/cache/org.scala-tools.testing/scalacheck_2.9.1/jars/scalacheck_2.9.1-1.9.jar"/>
<classpathentry kind="lib" path="C:/Users/jfc.EECS/.ivy2/cache/org.scalatest/scalatest/jars/scalatest-1.4.RC2.jar"/>
<classpathentry kind="lib" path="C:/Users/jfc.EECS/.ivy2/cache/org.scala-lang/jline/jars/jline-2.9.1.jar"/>
<classpathentry kind="lib" path="C:/Users/jfc.EECS/.ivy2/cache/junit/junit/jars/junit-4.5.jar"/>
<classpathentry kind="lib" path="C:/code/BIDMat/lib/jhdf5.jar"/>
<classpathentry kind="lib" path="C:/code/BIDMat/lib/ptplot.jar"/>
<classpathentry kind="lib" path="C:/code/BIDMat/lib/jcublas-0.5.0RC.jar"/>
<classpathentry kind="lib" path="C:/code/BIDMat/lib/jcuda-0.5.0RC.jar"/>
<classpathentry kind="lib" path="C:/code/BIDMat/lib/jcufft-0.5.0RC.jar"/>
<classpathentry kind="lib" path="C:/code/BIDMat/lib/jcurand-0.5.0RC.jar"/>
<classpathentry kind="lib" path="C:/code/BIDMat/lib/jcusparse-0.5.0RC.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
18 changes: 18 additions & 0 deletions .project
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>BIDMat</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.scala-ide.sdt.core.scalabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.scala-ide.sdt.core.scalanature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
Binary file added BIDMat.jar
Binary file not shown.
25 changes: 25 additions & 0 deletions Copyright.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
Copyright (c) 2012, Regents of the University of California
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the <organization> nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

28 changes: 28 additions & 0 deletions INSTALLING.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
BIDMat is a set of Scala, Java and native code libraries. To run it, you need:

* A java runtime, version 1.5 or later.

* An Installation of the Scala language, which you can get from here: http://www.scala-lang.org/
You need Scala 2.9.1 or later. We have tested extensively on 2.9.1 and 2.9.2.

* A 64bit Intel machine (Linux, Windows, and *soon* Mac), if you plan to use any native
code acceleration. We have tested on Windows 7 and RedHat Enterprise Linux 6.
You should set Mat.noMKL=true in scala if you dont have one. A lot of
the code will still work, but that's really not the point of the library.

* To use these libraries with a CUDA GPU, you need a CUDA-enabled GPU device. The code has
been developed for GTX 600-series, and this is the ideal platform. The code should work
with Tesla K10 devices, which share the same GPU chip as the 680/690 which is our
main platform. Most operations will work also with 500-series and we are working to add
the others.

* You need the [http://developer.nvidia.com/cuda/cuda-downloads NVIDIA CUDA driver and the
CUDA Toolkit] from the NVIDIA website. This version is based on CUDA 4.2. CUDA 5.0 supported
should appear soon.

In Linux, you should just be able to run the "bidmat" script from the top-level
directory. If that doesnt work, its probably because $JAVA_HOME is not set in your
environment. You can set it inside the script instead.

On windows you will need to set the system PATH variable to include the lib subdirectory,
which is at <root_dir>/BIDMat/lib/win64, and which contains the native code dlls
21 changes: 13 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@

NOTE: Documentation for BIDMat is available here:
http://bid.berkeley.edu/BIDMat/index.php/Main_Page

BIDMat is a matrix library intended to support large-scale exploratory
data analysis and to accelerate production deployment on single
machines or clusters. While there are many excellent tools exist to
Expand All @@ -12,17 +15,19 @@ of a high-end programming language including good general-purpose data
sructures. And also of Scala's compiler-based REPL (Read-Eval-Print Loop).

2. To leverage native machine performance through native libraries
(Intel MKL, HDF5 and string/XML processing). Java/Scala are excellent
high-level languages, but are one or two orders of magnitude away from
native performance in some key areas: especially matrix algebra and
string processing, and below the bar to a lesser degree in File-IO.
(Intel MKL, HDF5, CUDA and string/XML processing). Java/Scala are
excellent high-level languages, but are one or two orders of magnitude
away from native performance in some key areas: especially matrix
algebra and string processing, and below the bar to a lesser degree in
File-IO.

3. To leverage GPU hardware and GPU-based data as a first-class
object. GPUs now offer large improvements (again one or more orders
of magnitude) over CPU performance in many areas that are relevant to
data mining: matrix algebra, transcendental functions, random number
generation, network and graph algorithms and even natural language
parsing. Our own work suggests that the list is going to continue to
grow, and that GPU acceleration will fairly soon be a requirement for
competitive performance in most algorithms.
generation. These advantages in low-level operations carry over to
network and graph algorithms and even natural language parsing. Our
own work suggests that the list is going to continue to grow, and that
GPU acceleration will fairly soon be a requirement for competitive
performance in most algorithms.

22 changes: 22 additions & 0 deletions bidmat
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/bash
export BIDMAT_ROOT="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
export BIDMAT_ROOT="$( echo ${BIDMAT_ROOT} | sed s+/cygdrive/c+c:+ )"
# This is only needed/works on Linux
export LD_LIBRARY_PATH="${BIDMAT_ROOT}/lib/linux64:${BIDMAT_ROOT}/lib/linux64/JCUDA5.0:/usr/local/cuda-5.0/lib64:${LD_LIBRARY_PATH}"
# export JAVA_HOME="" # Set here if not set in environment
export JAVA_OPTS="-Xmx12G -Xms128M" # Set as much memory as possible
# Fix these if needed
export JCUDA_VERSION="0.5.0RC"
export JCUDA_LIBDIR=${BIDMAT_ROOT}/lib
export LIBDIR=${BIDMAT_ROOT}/lib

export BIDMAT_LIBS="${BIDMAT_ROOT}/BIDMat.jar;${LIBDIR}/ptplot.jar;${LIBDIR}/ptplotapplication.jar;${LIBDIR}/jhdf5.jar"
export JCUDA_LIBS="${JCUDA_LIBDIR}/jcuda-${JCUDA_VERSION}.jar;${JCUDA_LIBDIR}/jcublas-${JCUDA_VERSION}.jar;${JCUDA_LIBDIR}/jcufft-${JCUDA_VERSION}.jar;${JCUDA_LIBDIR}/jcurand-${JCUDA_VERSION}.jar;${JCUDA_LIBDIR}/jcusparse-${JCUDA_VERSION}.jar"

export ALL_LIBS="${BIDMAT_LIBS};${JCUDA_LIBS};${JAVA_HOME}/lib/tools.jar"

if [ ! "$OS" = "Windows_NT" ]; then
export ALL_LIBS=`echo "${ALL_LIBS}" | sed 's/;/:/g'`
fi

scala -nobootcp -cp "${ALL_LIBS}" -Yrepl-sync -i ${LIBDIR}/bidmat_init.scala
20 changes: 20 additions & 0 deletions bidmat.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
@ECHO OFF
:: Set JAVA_HOME here if not set in environment
:: SET JAVA_HOME=
:: Set as much memory as possible
(SET JAVA_OPTS=-Xmx12G -Xms128M)
:: Fix these if needed
SET JCUDA_VERSION=0.5.0RC
SET JCUDA_LIBDIR=%CD%\lib
SET LIBDIR=%CD%\lib
SET PATH=%LIBDIR%\win64;%LIBDIR%\win64\JCUDA5.0;%PATH%


SET BIDMAT_LIBS=%CD%\BIDMat.jar;%LIBDIR%\ptplot.jar;%LIBDIR%\ptplotapplication.jar;%LIBDIR%\jhdf5.jar

SET JCUDA_LIBS=%JCUDA_LIBDIR%\jcuda-%JCUDA_VERSION%.jar;%JCUDA_LIBDIR%\jcublas-%JCUDA_VERSION%.jar;%JCUDA_LIBDIR%\jcufft-%JCUDA_VERSION%.jar;%JCUDA_LIBDIR%\jcurand-%JCUDA_VERSION%.jar;%JCUDA_LIBDIR%\jcusparse-%JCUDA_VERSION%.jar

SET ALL_LIBS=%BIDMAT_LIBS%;%JCUDA_LIBS%;%JAVA_HOME%\lib\tools.jar
echo %ALL_LIBS%

scala -nobootcp -cp "%ALL_LIBS%" -Yrepl-sync -i %LIBDIR%\bidmat_init.scala
21 changes: 21 additions & 0 deletions bidmat4.2
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash
export BIDMAT_ROOT=`pwd`
# This is only needed/works on Linux
export LD_LIBRARY_PATH="${BIDMAT_ROOT}/lib/linux64:${BIDMAT_ROOT}/lib/linux64/JCUDA4.2:/usr/local/cuda-4.2/lib64:${LD_LIBRARY_PATH}"
# export JAVA_HOME="" # Set here if not set in environment
export JAVA_OPTS="-Xmx12G -Xms128M" # Set as much memory as possible
# Fix these if needed
export JCUDA_VERSION="0.4.2"
export JCUDA_LIBDIR=${BIDMAT_ROOT}/lib
export LIBDIR=${BIDMAT_ROOT}/lib

export BIDMAT_LIBS="${BIDMAT_ROOT}/BIDMat.jar;${LIBDIR}/ptplot.jar;${LIBDIR}/ptplotapplication.jar;${LIBDIR}/jhdf5.jar"
export JCUDA_LIBS="${JCUDA_LIBDIR}/jcuda-${JCUDA_VERSION}.jar;${JCUDA_LIBDIR}/jcublas-${JCUDA_VERSION}.jar;${JCUDA_LIBDIR}/jcufft-${JCUDA_VERSION}.jar;${JCUDA_LIBDIR}/jcurand-${JCUDA_VERSION}.jar;${JCUDA_LIBDIR}/jcusparse-${JCUDA_VERSION}.jar"

export ALL_LIBS="${BIDMAT_LIBS};${JCUDA_LIBS};${JAVA_HOME}/lib/tools.jar"

if [ ! "$OS" = "Windows_NT" ]; then
export ALL_LIBS=`echo "${ALL_LIBS}" | sed 's/;/:/g'`
fi

scala -nobootcp -cp "${ALL_LIBS}" -Yrepl-sync -i ${LIBDIR}/bidmat_init.scala
48 changes: 48 additions & 0 deletions build.sbt
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@

name := "BIDMat"

version := "0.1.0"

organization := "edu.berkeley.bid"

scalaVersion := "2.9.1"

resolvers ++= Seq(
"Scala Tools Snapshots" at "http://scala-tools.org/repo-snapshots/"
)

libraryDependencies <<= (scalaVersion, libraryDependencies) { (sv, deps) =>
deps :+ ("org.scala-lang" % "scala-compiler" % sv)
}

libraryDependencies += "org.scala-lang" % "jline" % "2.9.1"

libraryDependencies += "org.scalatest" %% "scalatest" % "1.8" % "test"

libraryDependencies += "org.scala-tools.testing" %% "scalacheck" % "1.9" % "test"

libraryDependencies += "junit" % "junit" % "4.5" % "test"

credentials += Credentials(Path.userHome / ".ivy2" / ".credentials")

javacOptions ++= Seq("-source", "1.5", "-target", "1.5")

scalacOptions ++= Seq("-deprecation","-target:jvm-1.5")

initialCommands := scala.io.Source.fromFile("lib/bidmat_init.scala").getLines.mkString("\n")

javaOptions += "-Xmx12g"

seq(ProguardPlugin.proguardSettings :_*)

proguardOptions ++= Seq (
"-keep class scala.** { *; }",
"-keep class org.jfree.** { *; }",
keepMain("scala.tools.nsc.MainGenericRunner"),
keepLimitedSerializability,
keepAllScala,
"-keep class ch.epfl.** { *; }",
"-keep interface scala.ScalaObject"
)


Loading