Commit Graph

13 Commits (2648b41398c5405de080d0f3193efd3d1d5a9b22)

Author SHA1 Message Date
Karthik Gururaj 2648b41398 Added vectorized PairHMM implementation by Mohammad and Mustafa into the Maven build of GATK.
C++ code has PAPI calls for reading hardware counters

Followed Khalid's suggestion for packing libVectorLoglessCaching into
the jar file with Maven

Native library part of git repo

1. Renamed directory structure from public/c++/VectorPairHMM to
public/VectorPairHMM/src/main/c++ as per Khalid's suggestion
2. Use java.home in public/VectorPairHMM/pom.xml to pass environment
variable JRE_HOME to the make process. This is needed because the
Makefile needs to compile JNI code with the flag -I<JRE_HOME>/../include (among
others). Assuming that the Maven build process uses a JDK (and not just
a JRE), the variable java.home points to the JRE inside maven.
3. Dropped all pretense at cross-platform compatibility. Removed Mac
profile from pom.xml for VectorPairHMM

Moved JNI_README

1. Added the catch UnsatisfiedLinkError exception in
PairHMMLikelihoodCalculationEngine.java to fall back to LOGLESS_CACHING
in case the native library could not be loaded. Made
VECTOR_LOGLESS_CACHING as the default implementation.
2. Updated the README with Mauricio's comments
3. baseline.cc is used within the library - if the machine supports
neither AVX nor SSE4.1, the native library falls back to un-vectorized
C++ in baseline.cc.
4. pairhmm-1-base.cc: This is not part of the library, but is being
heavily used for debugging/profiling. Can I request that we keep it
there for now? In the next release, we can delete it from the
repository.
5. I agree with Mauricio about the ifdefs. I am sure you already know,
but just to reassure you the debug code is not compiled into the library
(because of the ifdefs) and will not affect performance.

1. Changed logger.info to logger.warn in PairHMMLikelihoodCalculationEngine.java
2. Committing the right set of files after rebase

Added public license text to all C++ files

Added license to Makefile

Add package info to Sandbox.java
2014-03-05 08:31:24 -08:00
Intel Repocontact ff2a972ab5 Merge branch 'master' of github.com:broadinstitute/gsa-unstable
Conflicts:
	.gitignore
2014-02-25 20:56:28 -08:00
Khalid Shakir bc9ac93b6c Adding the external example to the build. 2014-02-15 01:26:07 +08:00
Joel Thibault 7923e786e9 Rev Picard (public) to 1.107.1676
- Rename snappy to snappy-java
- Add maven-metadata-local.xml to .gitignore
2014-02-04 22:04:28 -05:00
Karthik Gururaj 81bdfbd00d Temporary commit before moving to new native library 2014-01-24 16:29:35 -08:00
Karthik Gururaj 25aecb96e0 Added support for dynamic selection between AVX and un-vectorized C++,
still to include SSE code from Mohammad.
Debug flags turned on in this commit.
2014-01-18 11:07:23 -08:00
David Roazen 4d56142163 Detect stuck lock-acquisition calls, and disable file locking for tests
-Acquire file locks in a background thread with a timeout of 30 seconds,
 and throw a UserException if a lock acquisition call times out

    * should solve the locking issue for most people provided they
      RETRY failed farm jobs

    * since we use NON-BLOCKING lock acquisition calls, any call that
      takes longer than a second or two indicates a problem with the
      underlying OS file lock support

    * use daemon threads so that stuck lock acquisition tasks don't
      prevent the JVM from exiting

-Disable both auto-index creation and file locking for integration tests
 via a hidden GATK argument --disable_auto_index_creation_and_locking_when_reading_rods

    * argument not safe for general use, since it allows reading from
      an index file without first acquiring a lock

    * this is fine for the test suite, since all index files already
      exist for test files (or if they don't, they should!)

-Added missing indices for files in private/testdata

-Had to delete most of RMDTrackBuilderUnitTest, since it mostly tested auto-index
 creation, which we can't test with locking disabled, but I replaced the deleted
 tests with some tests of my own.

-Unit test for FSLockWithShared to test the timeout feature
2013-04-24 22:49:02 -04:00
Mauricio Carneiro ef4cc742e5 Fixing the licensing scripts
- Fixed shell glob limitation that was failing license updates on big commits
	- Hook will now force user to re-commit after updating the licenses (pre-commit hook can't update and commit in the same process)
	- Moved all scripts to bash/zsh
	- Separated the license utilities in a separate python module to avoid copying code

GSATDG-28 #resolve
2013-01-26 13:42:49 -05:00
Mauricio Carneiro 643a508564 Added atlassian intellij plugin file to .gitignore 2013-01-23 20:55:28 -07:00
Mauricio Carneiro a640afa995 adding some directories to gitignore 2012-09-27 11:09:41 -04:00
David Roazen 751d66174a Minor additions to the shared .gitignore file, now that Mark has checked one in. 2011-10-26 12:24:28 -04:00
Mark DePristo 05730884c6 More ignores 2011-10-25 20:29:35 -04:00
Mark DePristo 0f44066640 Ignore common files 2011-10-25 20:26:46 -04:00