Yeppp! is a high-performance SIMD-optimized mathematical library for x86, ARM, and MIPS processors on Windows, Android, Mac OS X, and GNU/Linux systems. Yeppp! functions are presented in several versions with optimizations for different processor microarchitectures. During initialization Yeppp! library detects the processor it is running on, and chooses the optimal function implementations.
Additionally, the library provides information about the CPU, such as processor vendor and microarchitecture, and an OS- and hardware-independent interface to processor cycle counters, and high-resolution timers.
Releases of Yeppp! library contain the following files relevant to Java programming:
Location | Description |
---|---|
binaries/java-1.5/yeppp.jar | Pre-built JAR archive with Java bindings for Yeppp! (Java classes only). With this JAR you may write Yeppp! powered applications for all supported platforms. You will also need some of the platform-specific Yeppp! binaries to run your application. |
binaries/java-1.5/yeppp-bundle.jar | Pre-built JAR archive with Java bindings for Yeppp! (Java classes and platform-specific binaries for Windows, Linux, and Mac OS X). With this JAR you may write Yeppp! powered applications for all supported platforms except Android. On start-up the Java code in this class will detect the platform it is running on and extract the proper platform-specific binaries (which are packed in this JAR). No additional DLLs/shared objects/shared libraries is needed when you use this JAR. |
binaries/windows/amd64/ | Pre-built Yeppp! DLL and debug information files for x64 (64-bit) Windows |
binaries/windows/x86/ | Pre-built Yeppp! DLL and debug information files for x86 (32-bit) Windows |
binaries/android/armeabi/ | Pre-built Yeppp! shared object and debug symbols for Android ("armeabi" ABI) |
binaries/android/armeabi-v7a/ | Pre-built Yeppp! shared object and debug symbols for Android ("armeabi-v7a" ABI) |
binaries/android/x86/ | Pre-built Yeppp! shared object and debug symbols for Android ("x86" ABI) |
binaries/android/mips/ | Pre-built Yeppp! shared object and debug symbols for Android ("mips" ABI) |
binaries/linux/i586/ | Pre-built Yeppp! shared object and debug symbols for GNU/Linux on x86 architecture |
binaries/linux/x86_64/ | Pre-built Yeppp! shared object and debug symbols for GNU/Linux on x86-64 (aka AMD64, x64, or Intel64) architecture |
binaries/linux/armel/ | Pre-built Yeppp! shared object and debug symbols for GNU/Linux on ARM architecture with armel ABI (ARM EABI Little-Endian Soft-Float) |
binaries/linux/armhf/ | Pre-built Yeppp! shared object and debug symbols for GNU/Linux on ARM architecture with armhf ABI (ARM EABI Little-Endian Hard-Float) |
binaries/macosx/x86/ | Pre-built Yeppp! dynamic library and debug symbols for Mac OS X on x86 architecture |
binaries/macosx/x86_64/ | Pre-built Yeppp! dynamic library and debug symbols for Mac OS X on x86-64 (aka AMD64, x64, or Intel64) architecture |
bindings/java/sources-java/ | Source code of Yeppp! binaries for Java (Java classes only) |
bindings/java/sources-jni/ | Source code of Yeppp! binaries for Java (C/JNI functions only) |
examples/java/ | Examples of calling Yeppp! functions in Java code |
docs/java/ | Yeppp! documentation for Java programmers |
SetVars.cmd | Windows batch script to setup environment variables for Yeppp! |
set-vars.sh | POSIX shell script to setup environemnt variables for Yeppp! . Compatible with bash/dash/ksh/zsh on Linux and Mac OS X. |
Download the recent release of Yeppp! from the official website.
Open the IDEA project where you want to use Yeppp! . Choose File->Project Structure in the main menu. The Project Structure diallog will appear on the screen.
Select the "Libraries" option group, click on New Project Library ("+") button in the top of the window, and choose "Java".
In the "Select Library Files" diallog choose either yeppp.jar
or yeppp-bundle.jar
from binaries/java-1.5/
directory Yeppp! tree. yeppp.jar
contains only Java classes, so you will have to specify which platform-specific binary of Yeppp! library to use when you run your Java application. yeppp-bundle.jar
already includes platform-specific binaries for all supported platforms inside the JAR and chooses the right binary on start-up. However, this comes at the cost of larger JAR file and probably higher start-up time.
Press OK in the Project Structure diallog to confirm addition of Yeppp! to the project.
If you decided to use yeppp.jar library (as opposed to yeppp-bundle.jar) you will need to specify platform-specific Yeppp! binaries for use when you run your application. Choose Run->Edit Configurations in the main menu. The Run/Debug Configurations diallog will appear on the screen. In the "VM Options" textbox add -Djava.library.path=<platform-specific-binaries-directory>
where <platform-specific-binaries-directory> matches the platform of your Java VM (e.g. if you use 32-bit Java VM on 64-bit Windows you will have to specify the path to binaries/windows/x86/ directory in Yeppp! tree). See Yeppp! file structure for a list of platform-specific binaries directories.
Now you are ready to use Yeppp!
Download the recent release of Yeppp! from the official website.
Open the IDEA project where you want to use Yeppp! . Choose File->Project Structure in the main menu. The Project Structure diallog will appear on the screen.
Select the "Libraries" option group, click on New Project Library ("+") button in the top of the window, and choose "Java".
In the "Select Library Files" diallog choose either yeppp.jar
from binaries/java-1.5/
directory Yeppp! tree.
Select the "Facets" option group, and click on Android facet for your project. In the "Native libs directory" specify the full path to the binaries/android/
directory in Yeppp! tree. Press OK in the Project Structure diallog to confirm changes to Project Structure.
Now you are ready to use Yeppp!
Download the recent release of Yeppp! from the official website.
Open the Eclipse project where you want to use Yeppp! . Choose Project->Properties in the main menu. In the project properties diallog select the "Java Build Path" option group, and switch "Libraries" tab. Click on "Add External JARs" button and specify the path to either yeppp.jar
or yeppp-bundle.jar
from binaries/java-1.5/
directory Yeppp! tree. yeppp.jar
contains only Java classes, so you will have to specify which platform-specific binary of Yeppp! library to use when you run your Java application. yeppp-bundle.jar
already includes platform-specific binaries for all supported platforms inside the JAR and chooses the right binary on start-up. However, this comes at the cost of larger JAR file and probably higher start-up time. If you choose to use yeppp.jar
also specify the path to platform-specific Yeppp! binaries in "Native library location". You should specify the path to platform-specific binaries for the platform of your Java VM (e.g. if you use 32-bit Java VM on 64-bit Windows you will have to specify the path to binaries/windows/x86/ directory in Yeppp! tree). See Yeppp! file structure for a list of platform-specific binaries directories.
Now you are ready to use Yeppp!
Download the recent release of Yeppp! from the official website.
Open a terminal window where you plan to build your project. With Yeppp! we provide a shell script to set up environment variables. Navigate to Yeppp! directory and execute command
If your shell does not support source
command, use the equivalent command
<arch>
should specify the architecture/ABI of your Java VM. The following values are accepted:
x86
to set variables for x86 (32-bit x86) JVM x86_64
to set variables for x86-64 (64-bit x86) JVM armel
to set variables for ARM Soft-Float EABI JVM (Linux only) armhf
to set variables for ARM Hard-Float EABI JVM (Linux only) You can also omit the <arch> parameter. This case the setup script will setup the environment according to your operating system architecture.
The set-vars.sh script adds the Yeppp! java bindings library yeppp.jar
to CLASSPATH. It also sets environment variables to let the dynamic linker find Yeppp! when you execute a program which makes use of this library. Additionally, the script sets environment variable $YEPROOT to contain the path to Yeppp! installation directory, and $YEPBINARIES variable to contain the path to platform-specific Yeppp! binaries. You may use this variable to specify the search path for native library when running a Yeppp! powered Java application with JVM parameter -Djava.library.path=$YEPBINARIES
.
Alternatively, you may use the JAR file yeppp-bundle.jar
from $YEPROOT/binaries/java-1.5/
directory. yeppp-bundle.jar already includes platform-specific binaries for all supported platforms inside the JAR and chooses the right binary on start-up. However, this comes at the cost of larger JAR file and probably higher start-up time.
Now you are ready to use Yeppp!
Download the recent release of Yeppp! from the official website. On Windows we recommend that you use the MSI installer for Yeppp! SDK. The installer will install the library components, and also set YEPROOT environment variable.
Open a command prompt window where you plan to build your project. With Yeppp! we provide a batch script to set up environment variables. In the Command Prompt window execute the command
where <arch>
should specify the architecture/ABI of your Java VM. The following values are accepted:
x86
to set variables for x86 (32-bit x86) JVM x64
to set variables for x86-64 (64-bit x86 aka AMD64 aka x64) JVM You can also omit the <arch> parameter. This case the setup script will setup the environment according to your operating system architecture.
The set-vars.sh script adds the Yeppp! java bindings library yeppp.jar
to CLASSPATH. It also sets environment variables to let the operating system find Yeppp! when you execute a program which makes use of this library. Additionally, the script sets environment variable YEPROOT% to contain the path to Yeppp! installation directory, and YEPBINARIES% variable to contain the path to platform-specific Yeppp! binaries. You may use this variable to specify the search path for native library when running a Yeppp! powered Java application with JVM parameter -Djava.library.path=YEPBINARIES%
.
Alternatively, you may use the JAR file yeppp-bundle.jar
from YEPROOT%/binaries/java-1.5/
directory. yeppp-bundle.jar already includes platform-specific binaries for all supported platforms inside the JAR and chooses the right binary on start-up. However, this comes at the cost of larger JAR file and probably higher start-up time.
Now you are ready to use Yeppp!