Commit Graph

  • 166f91d698 Merge branch 'test_branch' Karthik Gururaj 2014-02-06 11:18:18 -0800
  • fab6f57e97 1. Enabled FTZ in LoadTimeInitializer.cc 2. Added Sandbox.java for testing 3. Moved compute to utils.cc (inside library) 4. Added flag for disabling FTZ in Makefile Karthik Gururaj 2014-02-06 11:01:33 -0800
  • 78642944c0 1. Moved break statement in utils.cc to correct position 2. Tested sandbox with regions 3. Lots of profiling code from previous commit exists Karthik Gururaj 2014-02-06 09:32:56 -0800
  • b21c35482e Packages link private/testdata, so that mvn test -Dsting.serialunittests.skipped=false works. Khalid Shakir 2014-02-06 14:31:30 +0800
  • 3848159086 Added a set of serial tests to gatk/queue packages, which runs all tests under their package in one TestNG execution. New properties to disable regenerating example resources artifact when each parallel test runs under packagetest. Moved collection of packagetest parameters from shell scripts into maven profiles. Fixed necessity of test-utils jar by removing incorrect dependenciesToScan element during packagetests. When building picard libraries, run clean first. Fixed tools jar dependency in picard pom. Integration tests properly use the ant-bridge.sh test.debug.port variable, like unit tests. Khalid Shakir 2014-02-06 01:17:26 +0800
  • 988e3b4890 Merge pull request #487 from broadinstitute/vrr_reference_model_with_trimming Valentin Ruano Rubio 2014-02-05 22:52:17 -0500
  • 98ffcf6833 Get gVCF to work without --dontTrimActiveRegions Valentin Ruano-Rubio 2014-02-03 18:26:22 -0500
  • acda6ca27b 1. Whew, finally debugged the source of performance issues with PairHMM JNI. See copied text from email below. 2. This commit contains all the code used in profiling, detecting FP exceptions, dumping intermediate results. All flagged off using ifdefs, but it's there. --------------Text from email As we discussed before, it's the denormal numbers that are causing the slowdown - the core executes some microcode uops (called FP assists) when denormal numbers are detected for FP operations (even un-vectorized code). The C++ compiler by default enables flush to zero (FTZ) - when set, the hardware simply converts denormal numbers to 0. The Java binary (executable provided by Oracle, not the native library) seems to be compiled without FTZ (sensible choice, they want to be conservative). Hence, the JNI invocation sees a large slowdown. Disabling FTZ in C++ slows down the C++ sandbox performance to the JNI version (fortunately, the reverse also holds :)). Not sure how to show the overhead for these FP assists easily - measured a couple of counters. FP_ASSISTS:ANY - shows number of uops executed as part of the FP assists. When FTZ is enabled, this is 0 (both C++ and JNI), when FTZ is disabled this value is around 203540557 (both C++ and JNI) IDQ:MS_UOPS_CYCLES - shows the number of cycles the decoder was issuing uops when the microcode sequencing engine was busy. When FTZ is enabled, this is around 1.77M cycles (both C++ and JNI), when FTZ is disabled this value is around 4.31B cycles (both C++ and JNI). This number is still small with respect to total cycles (~40B), but it only reflects the cycles in the decode stage. The total overhead of the microcode assist ops could be larger. As suggested by Mustafa, I compared intermediate values (matrices M,X,Y) and final output of compute_full_prob. The values produced by C++ and Java are identical to the last bit (as long as both use FTZ or no-FTZ). Comparing the outputs of compute_full_prob for the cases no-FTZ and FTZ, there are differences for very small values (denormal numbers). Examples: Diff values 1.952970E-33 1.952967E-33 Diff values 1.135071E-32 1.135070E-32 Diff values 1.135071E-32 1.135070E-32 Diff values 1.135071E-32 1.135070E-32 For this test case (low coverage NA12878), all these values would be recomputed using the double precision version. Enabling FTZ should be fine. -------------------End text from email Karthik Gururaj 2014-02-05 17:09:57 -0800
  • 6a7a197362 Merge pull request #486 from broadinstitute/rp_fix_missing_annotations_CombineReferenceCalculationVariants Ryan Poplin 2014-02-05 14:22:59 -0500
  • 693bfac341 Bug fix for missing annotations in CombineReferenceCalculationVariants. They were being dropped in the handoff between engines in a couple of places. Ryan Poplin 2014-02-05 10:43:05 -0500
  • 8aa8acf81d Merge pull request #485 from broadinstitute/eb_more_combine_rc_variants_iterations Eric Banks 2014-02-05 11:32:30 -0500
  • 740b33acbb We were never validating the sequence dictionary of tabix indexed VCFs for some reason. Fixed. Eric Banks 2014-02-04 01:21:17 -0500
  • 9cac24d1e6 Moving logging status of VCF indexing to DEBUG instead of INFO, otherwise it's painful when reading in lots of files Eric Banks 2014-02-04 00:24:44 -0500
  • 91bdf069d3 Some updates to CRCV. Eric Banks 2014-01-13 22:13:53 -0500
  • 22bcd10372 Merge pull request #484 from broadinstitute/jt_select_variants_nt_maven droazen 2014-02-05 08:15:02 -0500
  • 7923e786e9 Rev Picard (public) to 1.107.1676 - Rename snappy to snappy-java - Add maven-metadata-local.xml to .gitignore Joel Thibault 2014-02-04 12:19:55 -0500
  • 0025fe190d Exclude sam's older TestNG Joel Thibault 2014-02-04 13:27:19 -0500
  • 9eaee8c73c Integration test for the -nt race condition corrupting AD and PL fields Joel Thibault 2014-02-04 11:45:18 -0500
  • 24f8aef344 Contains profiling, exception tracking, PAPI code Contains Sandbox Java Karthik Gururaj 2014-02-04 16:27:29 -0800
  • 1de7a27471 Disable an additional test that is runtime dependent on one of the temporarily-disabled tests David Roazen 2014-02-04 16:07:58 -0500
  • 76086f30b7 Temporarily disable tests that started failing post-maven David Roazen 2014-02-04 15:31:24 -0500
  • 3b2f07990d Re-break the MWUnitTest for Joel to debug David Roazen 2014-02-04 15:19:09 -0500
  • c9032f0b5c Fix failing unit tests David Roazen 2014-02-04 02:55:54 -0500
  • 4eaa724be6 Merge pull request #483 from broadinstitute/ks_new_maven_build_system droazen 2014-02-03 10:53:18 -0800
  • 60567c8d7e Minor ant-bridge.sh changes David Roazen 2014-02-03 12:54:20 -0500
  • a4289711e2 Distinct failsafe summary reports, just like invoker report directories. Khalid Shakir 2014-02-01 19:58:49 +0800
  • 5ab0b117d2 Re-split the invoked integration tests and verify into separate phases. Khalid Shakir 2014-02-01 18:34:40 +0800
  • b10b42c10a Added a "dry" argument to ant-bridge.sh, that just prints the command that would run. Khalid Shakir 2014-02-01 11:27:25 +0800
  • 857e6e0d6f Bumped version to 2.8-SNAPSHOT, using new update_pom_versions.sh script. Khalid Shakir 2014-02-01 06:49:25 +0800
  • 20b471ef7b ant-bridge dist -> verify, test.compile -> test-compile Added a utility script for running a single test, usually in parallel. Khalid Shakir 2014-02-01 05:02:08 +0800
  • 9ca3004fc3 Setting the test-utils' type to test-jar, such that the multi-module build uses testClasses instead of classes as a directory dependency. Khalid Shakir 2014-02-01 04:02:46 +0800
  • f968b8a58b Crash when integration tests fail by running install and verify at the same time, instead of trying to do them separately. Khalid Shakir 2014-02-01 02:25:07 +0800
  • de13f41fc3 One step closer to a proper test-utils artifact. Using the maven-jar-plugin to create a test classifer, excluding actual tests, until we can properly separate the classes into separate artifacts/modules. Khalid Shakir 2014-01-31 20:25:58 +0800
  • 25aee7164e Fixed missing "mvn" command execution in ant-bridge. Added pom.xml workarounds for duplicate classpath error, due to gatk-framework dependency containing required BaseTest, and jarred *UnitTest/*IntegrationTest classes that also exist as files under target/test-classes. Khalid Shakir 2014-01-30 17:47:54 +0800
  • caa76cdac4 Added maven pom.xmls for various artifacts. Khalid Shakir 2014-01-29 17:00:06 -0500
  • d1a689af33 Added new utility files used by maven build, including the ant-bridge script. Khalid Shakir 2014-01-29 14:54:24 -0500
  • 88150e0166 Switched commited dependency repository from ivy to maven. Khalid Shakir 2014-01-29 14:18:02 -0500
  • 1e25a758f5 Moved files to maven directories. Here are the git moved directories in case other files need to be moved during a merge: git-mv private/java/src/ private/gatk-private/src/main/java/ git-mv private/R/scripts/ private/gatk-private/src/main/resources/ git-mv private/java/test/ private/gatk-private/src/test/java/ git-mv private/testdata/ private/gatk-private/src/test/resources/ git-mv private/scala/qscript/ private/queue-private/src/main/qscripts/ git-mv private/scala/src/ private/queue-private/src/main/scala/ git-mv protected/java/src/ protected/gatk-protected/src/main/java/ git-mv protected/java/test/ protected/gatk-protected/src/test/java/ git-mv public/java/src/ public/gatk-framework/src/main/java/ git-mv public/java/test/ public/gatk-framework/src/test/java/ git-mv public/testdata/ public/gatk-framework/src/test/resources/ git-mv public/scala/qscript/ public/queue-framework/src/main/qscripts/ git-mv public/scala/src/ public/queue-framework/src/main/scala/ git-mv public/scala/test/ public/queue-framework/src/test/scala/ Khalid Shakir 2014-01-29 13:36:16 -0500
  • faaef236ea Moved gsalib, R and other resources, Queue GATK extensions generator, Queue version java files. Khalid Shakir 2014-01-29 13:25:35 -0500
  • eb52dc6a9b Moved build.xml, ivy.xml, ivysettings.xml, ivy properties, public/packages/*.xml into private/archive/ant Khalid Shakir 2014-01-29 13:12:41 -0500
  • 6d4d776633 Includes code for all debug code for obtaining profiling info Karthik Gururaj 2014-01-30 12:08:06 -0800
  • 83d07280ef Merge pull request #482 from broadinstitute/vrr_reference_model_alt_allele Eric Banks 2014-01-30 08:25:43 -0800
  • 89c4e57478 gVCF <NON_REF> in all vcf lines including variant ones when –ERC gVCF is requested. Valentin Ruano-Rubio 2013-12-19 16:37:47 -0500
  • 5c7427e48c Temporary commit containing debug profiling code - commented out Karthik Gururaj 2014-01-29 12:10:29 -0800
  • 0c63d6264f 1. Added synchronization block around loadLibrary in VectorLoglessPairHMM 2. Edited Makefile to use static libraries where possible Karthik Gururaj 2014-01-27 15:34:58 -0800
  • a15137a667 Modified run.sh Karthik Gururaj 2014-01-27 14:56:46 -0800
  • 2c0d70c863 Moved vector JNI code to public/c++/VectorPairHMM Karthik Gururaj 2014-01-27 14:52:59 -0800
  • 85a748860e 1. Added more profiling code 2. Modified JNI_README Karthik Gururaj 2014-01-27 14:32:44 -0800
  • 383a4f4a70 Merge pull request #481 from broadinstitute/vrr_pairhmm_log_probability_fix Valentin Ruano Rubio 2014-01-27 10:59:08 -0800
  • 748d2fdf92 Added Integration test to verify the bugs are not there anymore as reported in pivotracker Valentin Ruano-Rubio 2014-01-26 23:27:03 -0500
  • a14a11c0cf Pulled Mohammad's changes for creating variable sized arrays Karthik Gururaj 2014-01-26 19:40:43 -0800
  • 018e9e2c5f 1. Cleaned up code 2. Split into DebugJNILoglessPairHMM and VectorLoglessPairHMM with base class JNILoglessPairHMM. DebugJNILoglessPairHMM can, in principle, invoke any other child class of JNILoglessPairHMM. 3. Added more profiling code for Java parts of LoglessPairHMM Karthik Gururaj 2014-01-26 19:18:12 -0800
  • 9e7bf75e89 Fix for the PairHMM transition probability miscalculation. Valentin Ruano-Rubio 2014-01-24 13:27:51 -0500
  • e7598dde8b Clean up mghodrat 2014-01-26 11:36:06 -0800
  • 81bdfbd00d Temporary commit before moving to new native library Karthik Gururaj 2014-01-24 16:29:35 -0800
  • f7fa79e561 Merge branch 'intel_pairhmm' of /home/karthikg/broad/gsa-unstable into intel_pairhmm Committing into central_repo Intel Repocontact 2014-01-22 23:08:32 -0800
  • 936e9e175e 1. Converted q,i,d,c in C++ from int* to char* 2. Use clock_gettime to measure performance 3. Disabled OpenMP 4. Moved LoadTimeInitializer to different file Karthik Gururaj 2014-01-22 22:57:32 -0800
  • 733a84e4f9 Added support to transfer haplotypes once per region to the JNI Re-use transferred haplotypes (stored in GlobalRef) across calls to computeLikelihoods Karthik Gururaj 2014-01-22 10:52:41 -0800
  • 868a8394f7 Deleted libJNILoglessPairHMM.so from git tracking Karthik Gururaj 2014-01-21 15:01:09 -0800
  • 217f6948f1 Merge branch 'master' of /home/mozdal/git/hmm into intel_pairhmm Karthik Gururaj 2014-01-21 12:43:16 -0800
  • 1b1c0c8e76 Split the inner loop to avoid the overhead incurred when -fPIC flag is enabled. mozdal 2014-01-21 11:47:30 -0800
  • 88c08e78e7 1. Inserted #define in sandbox pairhmm-template-main.cc 2. Wrapped _mm_empty() with ifdef SIMD_TYPE_SSE 3. OpenMP disabled 4. Added code for initializing PairHMM's data inside initializePairHMM - not used yet Karthik Gururaj 2014-01-21 09:57:14 -0800
  • 0170d4f3d5 Got rid of the MMX instructions in the SSE version of the code. Handling the mask operations in a class, which is defined for each version of SSE and AVX implementations separately. mozdal 2014-01-21 09:30:15 -0800
  • bdd06ebfc2 Merge pull request #478 from broadinstitute/eb_generalize_hc_values_as_args Ryan Poplin 2014-01-21 09:01:54 -0800
  • 8812278c2c Merge pull request #479 from broadinstitute/eb_move_test_up_one_level Eric Banks 2014-01-21 06:45:55 -0800
  • 28891117e2 Fixed bug in JNI interface release_array Disabled OpenMP Karthik Gururaj 2014-01-20 11:07:44 -0800
  • f614d7b0d8 1. Enabled OpenMP 2. Enabled AVX - earlier commit had disabled AVX Karthik Gururaj 2014-01-20 08:51:53 -0800
  • 7180c392af 1. Integrated Mohammad's SSE4.2 code, Mustafa's bug fix and code to fix the SSE compilation warning. 2. Added code to dynamically select between AVX, SSE4.2 and normal C++ (in that order) 3. Created multiple files to compile with different compilation flags: avx_function_prototypes.cc is compiled with -xAVX while sse_function_instantiations.cc is compiled with -xSSE4.2 flag. 4. Added jniClose() and support in Java (HaplotypeCaller, PairHMMLikelihoodCalculationEngine) to call this function at the end of the program. 5. Removed debug code, kept assertions and profiling in C++ 6. Disabled OpenMP for now. Karthik Gururaj 2014-01-20 08:03:42 -0800
  • 9e858270d7 Moving this test up one level to where it actually belongs. Eric Banks 2014-01-19 02:33:11 -0500
  • 64d5bf650e Pulled out some hard-coded values from the read-threading and isActive code of the HC, and made them into a single argument. Eric Banks 2013-12-11 10:20:07 -0500
  • 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. Karthik Gururaj 2014-01-18 11:07:23 -0800
  • abd4f552ba Merge pull request #476 from broadinstitute/yf_logging_all_input_SAMFiles Eric Banks 2014-01-17 08:54:33 -0800
  • c79e8ca53e Added an info log containing the SAM/BAM files that were eventually found from the commandline (useful for when there are files hiding inside bam.lists which may or may not have been constructed correctly...) Added a @hidden option controling the appearance of the full BamList in the log Yossi Farjoun 2014-01-15 11:02:04 -0500
  • d53e2fbe66 Uncommenting download option in build.xml Intel Repocontact 2014-01-16 21:55:04 -0800
  • f1c772ceea Same log message as before - forgot -a option 1. Moved computeLikelihoods from PairHMM to native implementation 2. Disabled debug - debug code still left (hopefully, not part of bytecode) 3. Added directory PairHMM_JNI in the root which holds the C++ library that contains the PairHMM AVX implementation. See PairHMM_JNI/JNI_README first Karthik Gururaj 2014-01-16 21:40:04 -0800
  • d7ba1f1c28 1. Moved computeLikelihoods from PairHMM to native implementation 2. Disabled debug - debug code still left (hopefully, not part of bytecode) 3. Added directory PairHMM_JNI in the root which holds the C++ library that contains the PairHMM AVX implementation. See PairHMM_JNI/JNI_README first Karthik Gururaj 2014-01-16 21:36:15 -0800
  • b57de8eec1 Merge branch 'master' of /home/karthikg/broad/archive/hmm_intra into intel_pairhmm Karthik Gururaj 2014-01-16 20:29:51 -0800
  • e6c6f8e313 Renamed directory Karthik Gururaj 2014-01-16 20:28:50 -0800
  • 532485ca59 Removed unnecessary files Karthik Gururaj 2014-01-16 20:26:41 -0800
  • 90938b8610 Minor typo in comments fixed Karthik Gururaj 2014-01-16 19:58:04 -0800
  • e90405cd1f 1. Nested loops over reads and haplotypes moved to C++ through JNI 2. OpenMP support added 3. Using direct access to Java primitive arrays 4. Debug messages disabled Karthik Gururaj 2014-01-16 19:53:50 -0800
  • 3b6b7626aa Merge pull request #472 from broadinstitute/eb_extend_private_simulate_reads_tool Eric Banks 2014-01-15 17:51:07 -0800
  • e8a5022777 1. Added support for JNI integration for LoglessCaching PairHMM AVX implementation. 2. Contains lots of debug code 3. Only invokes JNI for subComputeReadLikelihoodGivenHaplotypeLog10 Karthik Gururaj 2014-01-15 11:07:09 -0800
  • de56134579 Fixed up and refactored what seems to be a useful private tool to create simulated reads around a VCF. Eric Banks 2014-01-09 12:29:54 -0500
  • 8240ea826e Changes: 1. Added TRISTATE_CORRECTION in pairhmm-template-kernel.cc (function stripINITIALIZATION) 2. Added VEC_DIV macros to define-double.h and define-float.h 3. Edited initializeVectors to match Java C++ original: *(ptr_p_MY+r-1) = (r == ROWS - 1) ? ctx._(1.0) : ctx.ph2pr[_d]; *(ptr_p_YY+r-1) = (r == ROWS - 1) ? ctx._(1.0) : ctx.ph2pr[_c]; Modified: *(ptr_p_MY+r-1) = ctx.ph2pr[_d]; *(ptr_p_YY+r-1) = ctx.ph2pr[_c]; Karthik Gururaj 2014-01-15 10:48:58 -0800
  • e2c2aa7b05 Merge pull request #475 from broadinstitute/eb_fix_null_alleles_bug_PT63551060 Eric Banks 2014-01-15 08:05:21 -0800
  • 9f1ab0087a Added in a check for what would be an empty allele after trimming. Eric Banks 2014-01-14 12:56:54 -0500
  • 5fab96b7ee First import of AVX-JNI to git Karthik Gururaj 2014-01-14 17:26:55 -0800
  • 201ad398ac Merge pull request #473 from broadinstitute/eb_fix_qd_indel_normalization Ryan Poplin 2014-01-14 08:56:19 -0800
  • e4fdc5ac44 Merge pull request #474 from broadinstitute/eb_fix_haplotype_resolver_PT63333488 Eric Banks 2014-01-14 07:36:53 -0800
  • f67c33919b Merge pull request #468 from broadinstitute/gg_fixSAMPileup Geraldine Van der Auwera 2014-01-14 06:30:04 -0800
  • edf5880022 Updated SAMPileup codec and pileup-related docs Geraldine Van der Auwera 2014-01-10 18:21:56 -0500
  • 16ecc53749 Merge pull request #469 from broadinstitute/gg_gatkdoc_fixes Eric Banks 2014-01-14 05:56:07 -0800
  • fd511d12a2 Fixing the Haplotype Resolver so that it doesn't complain about missing header lines. Eric Banks 2014-01-13 22:47:43 -0500
  • 347fab4717 Merge pull request #471 from broadinstitute/eb_output_log_info_for_tim droazen 2014-01-13 17:48:40 -0800
  • bdb3954eb3 removed maxRuntime minValue Geraldine Van der Auwera 2014-01-13 20:45:43 -0500
  • 8fcad6680b Assorted fixes and improvements to gatkdocs Geraldine Van der Auwera 2013-12-10 13:19:53 -0500
  • c7e08965d0 The QD normalization for indels was busted and is now fixed. Eric Banks 2014-01-10 01:36:39 -0500
  • 851ec67bdc Adding more meta information about the user to the GATK logging output, per Tim F's request. Eric Banks 2014-01-13 14:36:02 -0500
  • 7cd304fb41 Merge pull request #470 from broadinstitute/mf_new_RBP droazen 2014-01-13 08:46:27 -0800