https://github.com/Microsoft/CNTK
- HEAD
- refs/heads/2.0rc/breakingChanges
- refs/heads/Aghagolzadeh-brainscript_useV2Aggregator_true
- refs/heads/Aghagolzadeh-dockerfile_AzurebatchAI
- refs/heads/BMUF-float16
- refs/heads/BMUF_fp16
- refs/heads/CUDA-elementwise-rework
- refs/heads/Compliance2.2
- refs/heads/Dev
- refs/heads/KaldiReaderOnWindows
- refs/heads/LastKnownGood
- refs/heads/MasterBeforeRemovingUnusedCode
- refs/heads/aayushg/Seq2SeqRepro
- refs/heads/aayushg/autoencoder
- refs/heads/aayushg/seq2seqChanges
- refs/heads/aforesti/compnetwork-constructors
- refs/heads/alahiri/distrib-reading-LMSequenceReader
- refs/heads/alexeyk/bn
- refs/heads/alexeyk/bn_fix
- refs/heads/alexeyk/conv_fix
- refs/heads/alexeyk/conv_tests
- refs/heads/alexeyk/cudnn3
- refs/heads/alexeyk/legacy
- refs/heads/alexeyk/logsum
- refs/heads/alexeyk/perf
- refs/heads/alexeyk/tests
- refs/heads/alexeyo/1bit-SGD-License-Update-Do-Not-Integrate
- refs/heads/alexeyo/Docker-Image
- refs/heads/alexeyo/ReadMe-News-February-10
- refs/heads/alexeyo/fix-linux-configure-script
- refs/heads/alexeyo/fix-linux-install-mpi-path
- refs/heads/alexeyo/test-winodows-drop-new-file-names
- refs/heads/alrezni/MatrixQuantizerTestsFailRepro
- refs/heads/alrezni/RandomGeneratorCpu
- refs/heads/alrezni/RandomUniform
- refs/heads/alrezni/ReseedCudaGenerator
- refs/heads/alrezni/bptt_ctf
- refs/heads/alrezni/checkpointing_v2
- refs/heads/alrezni/ctf_nan
- refs/heads/alrezni/cuda_reset_test
- refs/heads/alrezni/divering_loss_with_checkpointing
- refs/heads/alrezni/fix_pytests
- refs/heads/alrezni/index_cache
- refs/heads/alrezni/learners_v2
- refs/heads/alrezni/learners_v2_serialization
- refs/heads/alrezni/learners_v2_uts
- refs/heads/alrezni/mlf_fix
- refs/heads/alrezni/mpi_lib_loading
- refs/heads/alrezni/proposal_layer
- refs/heads/alrezni/reader_randomization_test
- refs/heads/alrezni/simple_mnist_repro
- refs/heads/alrezni/text_reader_benchmark
- refs/heads/alrezni/v2_communicator
- refs/heads/alrezni/xpacker
- refs/heads/alrezni/xpacker2
- refs/heads/amitaga/apiChangesForRC
- refs/heads/amitaga/batchNorm
- refs/heads/amitaga/beta11BugFixes
- refs/heads/amitaga/bn
- refs/heads/amitaga/cudaErrorBugFix
- refs/heads/amitaga/cudaMemCheckForE2ETests
- refs/heads/amitaga/dataInteropFeatures
- refs/heads/amitaga/fix1BitPerf
- refs/heads/amitaga/fixSimpleAggregatorPerf
- refs/heads/amitaga/htkmlfreaderMemoryOptimizations
- refs/heads/amitaga/mblayoutMismatchError
- refs/heads/amitaga/memoryDebug
- refs/heads/amitaga/noDEBUG
- refs/heads/amitaga/sparseMemAllocFix
- refs/heads/amitaga/v2Library
- refs/heads/arturl-uwp-doc
- refs/heads/arturl-uwp-sample
- refs/heads/arturl-uwp-sample-pick-model
- refs/heads/barlaso/SampledTimes
- refs/heads/binbzha/backstitch
- refs/heads/binbzha/fsmn
- refs/heads/binbzha/latency-control-blstm
- refs/heads/binbzha/latency-control-blstm-2.5
- refs/heads/binbzha/low-frame-rate
- refs/heads/binbzha/tf-lstm-refine
- refs/heads/binxu/LeakyReLU
- refs/heads/bmitra/NDRMReader
- refs/heads/bmitra/fix
- refs/heads/boren/bfsmn_binary_mlf_2.6
- refs/heads/boren/bfsmn_binary_mlf_on_release_2.6
- refs/heads/boren/bfsmn_binary_mlf_on_release_2.7
- refs/heads/boren/release_2.6_kax_fsmn
- refs/heads/bospoort-maartenb/cntk_103a
- refs/heads/bowbao/arguments_order
- refs/heads/bowbao/cuda10
- refs/heads/bowbao/freedim_perf
- refs/heads/bowbao/mkl_asym_pad_and_channel_pad
- refs/heads/bowbao/mkl_channel_pad
- refs/heads/bowbao/nightly-fix
- refs/heads/bowbao/onnx_conv_kerneldim
- refs/heads/bowbao/onnx_flatten
- refs/heads/bowbao/onnx_gather_prelu
- refs/heads/bowbao/onnx_init_typetoproto
- refs/heads/bowbao/onnx_lrn_mvn_layerNorm
- refs/heads/bowbao/onnx_match_number
- refs/heads/bowbao/onnx_matmul_gemm
- refs/heads/bowbao/onnx_models_unittest
- refs/heads/bowbao/onnx_slice
- refs/heads/bowbao/onnxrt
- refs/heads/bowbao/onnxrt_stage
- refs/heads/bowbao/onnxruntime_ci
- refs/heads/bowbao/onnxruntime_ci_stage
- refs/heads/bowbao/overhaul_conv_export
- refs/heads/bowbao/preserve_work
- refs/heads/bowbao/protobuf_version
- refs/heads/bowbao/seqconv
- refs/heads/bowbao/seqconv_perf
- refs/heads/bowbao/seqconv_profiling
- refs/heads/bowbao/seqconv_v2
- refs/heads/bowbao/seqconv_v2_stage
- refs/heads/bowbao/update_onnx
- refs/heads/bowbao/update_onnx_stage
- refs/heads/bowbao/update_onnx_stage_cr
- refs/heads/bowbao/update_onnx_stage_cr_v14
- refs/heads/broda/tolower
- refs/heads/cazhan/lu-seq-reader
- refs/heads/chanliu/AMTrain
- refs/heads/chanliu/TSLearn
- refs/heads/chaojunl/lfmmi
- refs/heads/chaojunl/smbr
- refs/heads/chazhang/faster_rcnn
- refs/heads/chazhang/pretrain
- refs/heads/chenta/add_keras_learner
- refs/heads/chenta/align_axis_indices
- refs/heads/chenta/auto_broadcast_binary_op
- refs/heads/chenta/crash_investigate
- refs/heads/chenta/disable_omp
- refs/heads/chenta/distPerf
- refs/heads/chenta/expose_gradient_api
- refs/heads/chenta/fix_conv_crash
- refs/heads/chenta/fix_crash
- refs/heads/chenta/fix_gather_bug
- refs/heads/chenta/fix_nightly_build_crash
- refs/heads/chenta/fix_slice_free_dimension
- refs/heads/chenta/free_dimension_pooling
- refs/heads/chenta/freedimension_test
- refs/heads/chenta/keras-final
- refs/heads/chenta/keras_learner
- refs/heads/chenta/lotus_test
- refs/heads/chenta/nightly_crash
- refs/heads/chenta/padding
- refs/heads/chenta/print_omp_thread
- refs/heads/chenta/profile_test
- refs/heads/chenta/reverse_support
- refs/heads/chenta/splice
- refs/heads/chenta/test
- refs/heads/chenta/times
- refs/heads/chenta/univeral-learner
- refs/heads/chenta/unpack_batch_grad_fix
- refs/heads/chenzhehuai/lfbmmi-negstream
- refs/heads/chenzhehuai/lfbmmi-negstream-sil
- refs/heads/clemensm/cntkmkl
- refs/heads/clemensm/cntkmkl-evalx
- refs/heads/clemensm/dynamicaxis
- refs/heads/clemensm/fixseqcla
- refs/heads/clemensm/mblayouts
- refs/heads/clemensm/perf2
- refs/heads/clemensm/perf4
- refs/heads/clemensm/perf4b
- refs/heads/clemensm/profiler
- refs/heads/clemensm/quantmultiply2
- refs/heads/clemensm/runtimeopt
- refs/heads/clemensm/s2s
- refs/heads/cntk_agg
- refs/heads/cntkteam/new_onnx_without_batch_axis
- refs/heads/cntkteam/onnx1.0
- refs/heads/cntkteam/onnx1.2
- refs/heads/cntkteam/onnx_without_batch_axis
- refs/heads/csnugetquickfix
- refs/heads/dapisani/center_loss
- refs/heads/dapisani/cntk_converter
- refs/heads/dongyu/addhypertune
- refs/heads/dongyu/htkreaderext
- refs/heads/dongyu/writerfix
- refs/heads/duli/histogram
- refs/heads/duli/tensorboard_image
- refs/heads/duli/tensorboard_image1
- refs/heads/duli/tensorboard_image2
- refs/heads/duli/tensorboard_staging
- refs/heads/ebarsoum/cleanup
- refs/heads/ebarsoum/cntkv2doc
- refs/heads/ebarsoum/dilation_with_padding
- refs/heads/ebarsoum/emotion
- refs/heads/ebarsoum/inceptionv3
- refs/heads/ebarsoum/iteration
- refs/heads/ebarsoum/layerconv
- refs/heads/ebarsoum/pixelcnn
- refs/heads/ebarsoum/png16
- refs/heads/eldak/adaptiveLearningRate
- refs/heads/eldak/addingMLFTests
- refs/heads/eldak/addingPerDimMeanVarDeNormalization
- refs/heads/eldak/alignedBundler
- refs/heads/eldak/cesparsebs
- refs/heads/eldak/chunkDiagnostics
- refs/heads/eldak/clonePreservingIds
- refs/heads/eldak/codeGen4
- refs/heads/eldak/compositeInMemory
- refs/heads/eldak/exposingCWrapperForHalide
- refs/heads/eldak/exposingGPUThruC
- refs/heads/eldak/exposingSequenceIdFromMinibatchData
- refs/heads/eldak/fixingBatchNorm
- refs/heads/eldak/fixingBlockReplace
- refs/heads/eldak/fixingCrop
- refs/heads/eldak/fixingMaskForEval
- refs/heads/eldak/fixingUDInitialization
- refs/heads/eldak/forJacob
- refs/heads/eldak/gpuPrefetchGpuTranspose
- refs/heads/eldak/includingCNTKLibraryC
- refs/heads/eldak/investigatingBM
- refs/heads/eldak/jdEvalC
- refs/heads/eldak/maxNumSequences
- refs/heads/eldak/muditsChanges
- refs/heads/eldak/muditsChanges2
- refs/heads/eldak/muditsChanges3
- refs/heads/eldak/netRefactoring
- refs/heads/eldak/noRandomizerChunking
- refs/heads/eldak/opencv32
- refs/heads/eldak/optimizeO
- refs/heads/eldak/optimizingMBSize
- refs/heads/eldak/optimizingSparseRead
- refs/heads/eldak/parallelPacking
- refs/heads/eldak/refactoringForInference
- refs/heads/eldak/refactoringForInference2
- refs/heads/eldak/renamingManual
- refs/heads/eldak/retryToOpenFile
- refs/heads/eldak/sequenceKeyLength
- refs/heads/eldak/tempFixInVectorMax
- refs/heads/eldak/ud
- refs/heads/eldak/udRandom
- refs/heads/eldak/udRandom2
- refs/heads/fmegen/eval-internal-test
- refs/heads/fmegen/eval-vs2015
- refs/heads/fmegen/eval-vs2015_2
- refs/heads/fmegen/linux-debian
- refs/heads/fmegen/vs2015/changing-project-files
- refs/heads/fseide/99
- refs/heads/fseide/complexity
- refs/heads/fseide/cudnn5
- refs/heads/fseide/dynamite
- refs/heads/fseide/e2easr
- refs/heads/fseide/fixAsMatrix
- refs/heads/fseide/fixLoad
- refs/heads/fseide/fixSamples
- refs/heads/fseide/kdd
- refs/heads/fseide/ndops
- refs/heads/fseide/netlib
- refs/heads/fseide/pathPrefix
- refs/heads/fseide/refactor_nodes
- refs/heads/fseide/s2s
- refs/heads/fseide/s2sd
- refs/heads/fseide/s2sd5
- refs/heads/fseide/s2spy
- refs/heads/fseide/seqtest
- refs/heads/fseide/testlstm
- refs/heads/gaizna/cntk_readerless
- refs/heads/gaizna/eval_import_lib
- refs/heads/gaizna/writeminibatch_fix
- refs/heads/gather_from_target
- refs/heads/gather_op
- refs/heads/giwye/lightrnn
- refs/heads/gloch/fix_native_proposallayerlib
- refs/heads/gorand/lstm_experiments
- refs/heads/guoli/EMBR
- refs/heads/guoye/EMBR
- refs/heads/guoye/EMBR1
- refs/heads/guoye/RNNT_eval_cuda10_embr_1
- refs/heads/guoye/RNNT_eval_cuda10_embr_hao_decoder
- refs/heads/guoye/dcfsmn
- refs/heads/guoye/dcfsmn1
- refs/heads/guoye/dcfsmn1_debug
- refs/heads/guoye/dcfsmn2
- refs/heads/guoye/dcfsmn4
- refs/heads/guoye/dcfsmn5
- refs/heads/guoye/dcfsmn6
- refs/heads/guoye/master_debug
- refs/heads/guoye/merge_embr
- refs/heads/guoye/merge_embr_final
- refs/heads/guoye/merge_embr_final_v1
- refs/heads/hecli/PostReleaseMerge
- refs/heads/hjl/Char-RNN-Example
- refs/heads/huhu/RNNT_SR_master
- refs/heads/hunter/fast-rcnn
- refs/heads/hunter/fast-rcnn2
- refs/heads/hunter/fix-write
- refs/heads/issaca
- refs/heads/iu.triplet_loss
- refs/heads/iu_layer
- refs/heads/ivanst/profiler
- refs/heads/ivanst/profiler2
- refs/heads/ivanst/profiler3
- refs/heads/ivanst/profiler5
- refs/heads/ivanst/profiler_20160510
- refs/heads/ivanst/profiler_20161108
- refs/heads/ivanst/profiler_chr
- refs/heads/ivanst/profiler_cr
- refs/heads/ivanst/profiler_dir
- refs/heads/ivanst/profiler_ovr
- refs/heads/ivanst/temp
- refs/heads/ivanst/temp2
- refs/heads/jacde/CNTKEvalPlainCAPI
- refs/heads/jacde/PlainCAPIPlaceholder
- refs/heads/jaliyaek/htk_test
- refs/heads/jaliyaek/int16
- refs/heads/jdroppo/ceiling-mbsize
- refs/heads/jdroppo/ceiling-mbsize_conttrain
- refs/heads/jdroppo/cudnn-rnn-lstm
- refs/heads/jdroppo/cudnn-rnn-lstm-lfmmi
- refs/heads/jewong/RNNT_SE_TS
- refs/heads/jiajia/DropOutParam2
- refs/heads/jiajia/IRMetricV2
- refs/heads/jiajia/IRMetricV4
- refs/heads/jiajia/cdssm
- refs/heads/jiajia/cdssm2
- refs/heads/jiajia/cdssm3
- refs/heads/jiajia/loglossfix
- refs/heads/jiajia/ndcgcost
- refs/heads/jianblin/CDenseReader
- refs/heads/jianblin/CDenseReader1
- refs/heads/jianluan/test1
- refs/heads/jiashua/CSparsePCReader
- refs/heads/jieli/CTC
- refs/heads/jieli/LFMMI
- refs/heads/jlie/CSparseDensePCReader
- refs/heads/jlie/CSparsePCReader
- refs/heads/jlie/SparseDensePCReader
- refs/heads/jqian/fixnccl
- refs/heads/jqian/logcublas
- refs/heads/jqian/nonccl
- refs/heads/jqian/wip_io
- refs/heads/kate/dockerFile
- refs/heads/kedeng/boostAsync
- refs/heads/kedeng/cpuNcclFix
- refs/heads/kedeng/cuda92
- refs/heads/kedeng/custom_json
- refs/heads/kedeng/fix
- refs/heads/kedeng/fix2963
- refs/heads/kedeng/fixAutopad
- refs/heads/kedeng/fixCrash
- refs/heads/kedeng/mkldnn
- refs/heads/kedeng/mkldnn2
- refs/heads/kedeng/mkldnn_merge
- refs/heads/kedeng/ncclUUID
- refs/heads/kedeng/oldPackThreshold
- refs/heads/kedeng/perfTest
- refs/heads/kedeng/profileReader
- refs/heads/kedeng/yanchen/custom-attrs
- refs/heads/kyiwasak/faster-rcnn-distributed
- refs/heads/lakshayg-asinh
- refs/heads/lakshayg-atanh
- refs/heads/lakshayg-swish
- refs/heads/lewlu/ResNet-V2
- refs/heads/lewlu/densenet
- refs/heads/lewlu/facereaderopt
- refs/heads/lewlu/inceptionv3-py
- refs/heads/lewlu/msra-face
- refs/heads/lewlu/msra-face-dist
- refs/heads/lewlu/optimizer
- refs/heads/lewlu/python-disableRegInBN
- refs/heads/lewlu/rmsprop
- refs/heads/lewlu/ssgd_experiment_wofixedkernel
- refs/heads/lewlu/subminibatch-test
- refs/heads/lewlu/update-aspectratio-limit
- refs/heads/lingfw/adadelta_bs
- refs/heads/lingfw/conttrain-ceiling-mbsize
- refs/heads/lingfw/lfbmmi-negstream
- refs/heads/lingfw/lfmmi
- refs/heads/linqul/merge_ebmr
- refs/heads/linqul/merge_ebmr_v2
- refs/heads/linux-gcc
- refs/heads/liqun/2954
- refs/heads/liqun/Broadcast1252970
- refs/heads/liqun/CSApiHighLevel
- refs/heads/liqun/Lang
- refs/heads/liqun/Misc2.6
- refs/heads/liqun/Misc2.6Stage
- refs/heads/liqun/Misc2.6Stage2
- refs/heads/liqun/Mise2.6_2
- refs/heads/liqun/NewSequenceSliceStage
- refs/heads/liqun/NewSequenceSliceStage2
- refs/heads/liqun/NewSequenceSliceStage2Stage
- refs/heads/liqun/OfficeModel2
- refs/heads/liqun/OfficeModel2Stage
- refs/heads/liqun/OfficeModel2Stage2
- refs/heads/liqun/OfficeModel2Stage3
- refs/heads/liqun/RNN2.6
- refs/heads/liqun/SequenceSlice
- refs/heads/liqun/SequenceSliceStage
- refs/heads/liqun/SymbolicBatch
- refs/heads/liqun/TopK
- refs/heads/liqun/TopKStage
- refs/heads/liqun/fixp27
- refs/heads/liqun/fixp27Stage
- refs/heads/liqun/gslfix
- refs/heads/liqun/gslfixstage
- refs/heads/liqun/hashDev
- refs/heads/liqun/issue3428
- refs/heads/liqun/issues
- refs/heads/liqun/iter2.6
- refs/heads/liqun/liqun/RNN2.6.Stage
- refs/heads/liqun/liqun/scan6Stage2
- refs/heads/liqun/memleak
- refs/heads/liqun/onnx.cast
- refs/heads/liqun/onnx.cast.stage
- refs/heads/liqun/onnx1.3
- refs/heads/liqun/onnx1.3Stage
- refs/heads/liqun/onnx1.3Stage2
- refs/heads/liqun/onnx_axis
- refs/heads/liqun/onnx_axis_stage
- refs/heads/liqun/protobuf.upgrade
- refs/heads/liqun/remove-crosstalkcaffe-test
- refs/heads/liqun/scan
- refs/heads/liqun/scan10
- refs/heads/liqun/scan10Stage
- refs/heads/liqun/scan11
- refs/heads/liqun/scan11Stage
- refs/heads/liqun/scan12
- refs/heads/liqun/scan13
- refs/heads/liqun/scan14
- refs/heads/liqun/scan2
- refs/heads/liqun/scan2Stage
- refs/heads/liqun/scan2Stage2
- refs/heads/liqun/scan3
- refs/heads/liqun/scan3Stage
- refs/heads/liqun/scan4
- refs/heads/liqun/scan4Stage
- refs/heads/liqun/scan5
- refs/heads/liqun/scan5Stage
- refs/heads/liqun/scan6
- refs/heads/liqun/scan6Stage
- refs/heads/liqun/scan7
- refs/heads/liqun/scan7Stage
- refs/heads/liqun/scan8
- refs/heads/liqun/scan8Stage
- refs/heads/liqun/scan9
- refs/heads/liqun/seqops
- refs/heads/liqun/seqopsStage
- refs/heads/liqun/topk2
- refs/heads/liqun/wrap_maxlpool_with_reshape
- refs/heads/liwchang/StagePreorderTraverse4
- refs/heads/liwchang/diagTimesBackCompat
- refs/heads/liwchang/stagingDiagTimesFix
- refs/heads/lnunes/add-class-activation-map-example
- refs/heads/lnunes/cpu_conv_engine_improvements
- refs/heads/lnunes/remove-gpu-nms
- refs/heads/mahilleb/AsyncThrow
- refs/heads/mahilleb/BaselineNew
- refs/heads/mahilleb/CheckGitVsVs
- refs/heads/mahilleb/CmakeWip
- refs/heads/mahilleb/Cntkv2DelayLoad
- refs/heads/mahilleb/DocTest
- refs/heads/mahilleb/E2eWithTimeTool
- refs/heads/mahilleb/FixLinInstall2
- refs/heads/mahilleb/LinuxOobeJupyterTestDevice
- refs/heads/mahilleb/MnistDownload
- refs/heads/mahilleb/PyLibLocations
- refs/heads/mahilleb/PyLibLocations2
- refs/heads/mahilleb/PyScripts
- refs/heads/mahilleb/SetupPy
- refs/heads/mahilleb/ShareVersion
- refs/heads/mahilleb/SphinxUpd2
- refs/heads/mahilleb/TestDriver
- refs/heads/mahilleb/TestDriverIncludeSku
- refs/heads/mahilleb/TestDriverNvsmiExit
- refs/heads/mahilleb/TestDriverTimeoutWip
- refs/heads/mahilleb/UnitTestEnable
- refs/heads/mahilleb/Win1BitSgdSeparateOutDir
- refs/heads/mahilleb/disable104
- refs/heads/mahilleb/docfxPostprocess
- refs/heads/mahilleb/eldak/opencv32
- refs/heads/mahilleb/test
- refs/heads/mahilleb/test1
- refs/heads/mahilleb/test2
- refs/heads/mahilleb/tut104
- refs/heads/mahilleb/u16
- refs/heads/mahilleb/valgrind
- refs/heads/malcolm-cuda-changes
- refs/heads/manikj/nightly
- refs/heads/manikj/unifyBuildFolders
- refs/heads/marhamil-fix-jar
- refs/heads/marhamil/cherry-pick-jar
- refs/heads/marhamil/fix-jar-test
- refs/heads/marhamil/jar
- refs/heads/marhamil/jar-2.2
- refs/heads/marhamil/java-bindings-backup
- refs/heads/marhamil/java-bindings-one-commit
- refs/heads/master
- refs/heads/maven-central-jar
- refs/heads/meaghago
- refs/heads/mradmila/dgx1
- refs/heads/mradmila/modeltime
- refs/heads/mradmila/nogpu
- refs/heads/mseltzer/exportdbn_mkl
- refs/heads/mseltzer/ivectorreader
- refs/heads/mseltzer/utterancesourcemulti
- refs/heads/mseltzer/uttreaderfix
- refs/heads/msrpeng/sparse_agg_v2_direct_port
- refs/heads/msrpeng/sparse_agg_v2_sandbox
- refs/heads/msrpeng/sparse_agg_v2_sandbox1
- refs/heads/msrpeng/sparse_agg_v2_sandbox2
- refs/heads/muditj/FixHTKLatticeRelatedSettings2
- refs/heads/muditj/FixNoRandomizerBug
- refs/heads/muditj/FixNoRandomizerBug2
- refs/heads/muditj/FixNoRandomizerBug3
- refs/heads/muditj/FixReaderMemoryLeak2
- refs/heads/muditj/FixReaderMemoryLeak3
- refs/heads/muditj/FixReaderMemoryLeak4
- refs/heads/muditj/FixReaderMemoryLeak5
- refs/heads/muditj/HTKDeserializerPythonWrapper
- refs/heads/muditj/V231NoRandDivergenceDebug
- refs/heads/muditj/fixBMUFTestcase
- refs/heads/muditj/pythonCRlossAvg
- refs/heads/muditj/pythonCRlossAvg_2
- refs/heads/muditj/pythonCRlossAvg_3
- refs/heads/muditj/pythonCRlossAvg_staging
- refs/heads/n17s-patch-1
- refs/heads/naotous/translated-tutorials
- refs/heads/nikmil/acc_agg_fix_2
- refs/heads/nikmil/cv_best
- refs/heads/nikmil/ndarray_conversion_public
- refs/heads/nikmil/python_crop_cr
- refs/heads/nikmil/python_distrib_eval_cr_rebased
- refs/heads/nikmil/save_outputs_public
- refs/heads/nikosk/bidaf
- refs/heads/nikosk/clang
- refs/heads/nikosk/gmatch
- refs/heads/nikosk/lrdisplay
- refs/heads/nikosk/rangan_repro
- refs/heads/nikosk/tuned_bidaf
- refs/heads/nvidia/dgx1
- refs/heads/origin/t-titan/attention
- refs/heads/pahua/CDenseReader
- refs/heads/penhe/issue_repro
- refs/heads/penhe/native_cosdistance
- refs/heads/penhe/reasonet
- refs/heads/penhe/reasonet_contractive_loss
- refs/heads/penhe/reasonet_example
- refs/heads/penhe/reasonet_tutorial
- refs/heads/penhe/rsn_issue_repro
- refs/heads/peykash/BN_FP16_fix
- refs/heads/peykash/TimesTranspose_export
- refs/heads/peykash/batchnorm_and_pooling_fixes
- refs/heads/peykash/batchnorm_fixes
- refs/heads/peykash/batchnorm_float16_fix
- refs/heads/peykash/batchnorm_float16_fixes
- refs/heads/peykash/batchnorm_float16_support
- refs/heads/peykash/batchnorm_fp16_fix
- refs/heads/peykash/float16
- refs/heads/peykash/fp16-gru-fix
- refs/heads/peykash/fp16-load-from-rawdata
- refs/heads/peykash/fp16-misc-fixes
- refs/heads/peykash/initializer
- refs/heads/peykash/linux_CI_fix
- refs/heads/peykash/model_tests_CI
- refs/heads/peykash/onnx_no_batch_axis_fixes
- refs/heads/peykash/pooling_backward_compatibility_fix
- refs/heads/peykash/pretrained_model_fixes
- refs/heads/peykash/python27_test_fix
- refs/heads/peykash/reduce_fixes
- refs/heads/peykash/reduction_allaxes_export
- refs/heads/peykash/sequence_isfirst_islast
- refs/heads/peykash/softmax_fix
- refs/heads/peykash/times_export_fix
- refs/heads/pkranen/arbDim
- refs/heads/pkranen/bnFrozenFix
- refs/heads/pkranen/csevalFastrcnn
- refs/heads/pkranen/hierClass
- refs/heads/pkranen/hierarachical_FastRCNN
- refs/heads/pkranen/mbSize
- refs/heads/pkranen/newHierarchy
- refs/heads/pkranen/new_yolo
- refs/heads/pkranen/odScripts
- refs/heads/pkranen/yolo
- refs/heads/prototypes/arm64-debian
- refs/heads/pytest/update-anaconda-and-pytest
- refs/heads/qiwye/asgd-dev
- refs/heads/ratsur/find-by-uid
- refs/heads/ratsur/jar-rc3
- refs/heads/ratsur/java-bindings
- refs/heads/ratsur/java-csharp-parity
- refs/heads/ratsur/java-csharp-parity-rebase
- refs/heads/ratsur/java-training
- refs/heads/ratsur/maven-central-jar
- refs/heads/release/2.0
- refs/heads/release/2.0.beta10.0
- refs/heads/release/2.0.beta11.0
- refs/heads/release/2.0.beta12.0
- refs/heads/release/2.0.beta15.0
- refs/heads/release/2.0.beta2.0
- refs/heads/release/2.0.beta3.0
- refs/heads/release/2.0.beta4.0
- refs/heads/release/2.0.beta5.0
- refs/heads/release/2.0.beta6.0
- refs/heads/release/2.0.beta7.0
- refs/heads/release/2.0.beta8.0
- refs/heads/release/2.0.beta9.0
- refs/heads/release/2.0.rc1
- refs/heads/release/2.0.rc2
- refs/heads/release/2.0.rc3
- refs/heads/release/2.1
- refs/heads/release/2.2
- refs/heads/release/2.3
- refs/heads/release/2.3.1
- refs/heads/release/2.4
- refs/heads/release/2.5
- refs/heads/release/2.5.1
- refs/heads/release/2.6
- refs/heads/release/2.7
- refs/heads/release/latest
- refs/heads/removeSNB
- refs/heads/resetbranch
- refs/heads/rpengms/fp16_bmuf_20
- refs/heads/rpengms/fp16_sandbox
- refs/heads/rpengms/fp16_sandbox2
- refs/heads/rpengms/fp16_scale
- refs/heads/rpengms/stableTanh
- refs/heads/rpengms/vadimma_stableTanh
- refs/heads/ruizhao/CTC
- refs/heads/ruizhao/CTC_HC
- refs/heads/ruizhao/CTC_NDL
- refs/heads/ruizhao/CTC_Nbest
- refs/heads/ruizhao/CTC_blankinmlf
- refs/heads/ruizhao/CTC_checkin2
- refs/heads/ruizhao/LFMMI
- refs/heads/ruizhao/RNNT
- refs/heads/ruizhao/RNNT_830merge
- refs/heads/ruizhao/RNNT_Build
- refs/heads/ruizhao/RNNT_EOS
- refs/heads/ruizhao/RNNT_KWS
- refs/heads/ruizhao/RNNT_SR_master
- refs/heads/ruizhao/RNNT_TS
- refs/heads/ruizhao/RNNT_V2
- refs/heads/ruizhao/RNNT_beamsearch
- refs/heads/ruizhao/RNNT_bs
- refs/heads/ruizhao/RNNT_eval_cuda10
- refs/heads/ruizhao/RNNT_fastfb
- refs/heads/ruizhao/RNNT_gpuall
- refs/heads/ruizhao/RNNT_master
- refs/heads/ruizhao/RNNT_mergelinear
- refs/heads/ruizhao/RNNT_mergelinear_uttinfo
- refs/heads/ruizhao/RNNT_separatesum
- refs/heads/ruizhao/SE
- refs/heads/ruizhao/SE_TS
- refs/heads/ruizhao/SMBR
- refs/heads/ruizhao/base
- refs/heads/ruizhao/lfmmi-2pass
- refs/heads/ruizhao/lfmmi-2pass-m15
- refs/heads/ruizhao/lfmmi-2pass-test
- refs/heads/ruzhao/CTC_leftTC
- refs/heads/sanjeevm/test_branch
- refs/heads/sayanpa/aqgan
- refs/heads/sayanpa/aqganchk
- refs/heads/sayanpa/contribmd
- refs/heads/sayanpa/gi2022
- refs/heads/sayanpa/nbsphinx5
- refs/heads/sayanpa/nbsphinx6
- refs/heads/sayanpa/seqclass
- refs/heads/sayanpa/seqclass2
- refs/heads/sayanpa/slawek
- refs/heads/sayanpa/sr
- refs/heads/sayanpa/srcin
- refs/heads/sayanpa/srcin2
- refs/heads/sayanpa/srcin3
- refs/heads/sayanpa/srcin4
- refs/heads/sayanpa/t303
- refs/heads/sayanpa/t303chk
- refs/heads/sedymche/fix-doc
- refs/heads/sedymche/message
- refs/heads/sedymche/onnx-backend
- refs/heads/sedymche/onnx-backend-test
- refs/heads/sedymche/onnx-broadcast
- refs/heads/sedymche/onnx-maxes
- refs/heads/sedymche/onnx-maxes-new
- refs/heads/sedymche/onnx-min-max
- refs/heads/sedymche/onnx-reshape
- refs/heads/sedymche/onnx-save-load
- refs/heads/sedymche/test-skip
- refs/heads/shuzhe/treeps
- refs/heads/singletonComm
- refs/heads/slayton58/divmod
- refs/heads/sparse_agg
- refs/heads/sparse_aggregation
- refs/heads/sparse_aggregation_large_BUCKETSIZE
- refs/heads/sparse_aggregation_simple_selectK
- refs/heads/sparse_cntk
- refs/heads/sptiwari/KEEP_onnx_remove_autopad_from_conv
- refs/heads/sptiwari/UpdateFasterRcnn
- refs/heads/sptiwari/add_zeros_ones_eye
- refs/heads/sptiwari/add_zeros_ones_eye2
- refs/heads/sptiwari/conv_backend_test_fix
- refs/heads/sptiwari/conv_master_failure
- refs/heads/sptiwari/conv_with_static_batch_axis
- refs/heads/sptiwari/convtranspose_update
- refs/heads/sptiwari/convtranspose_update2
- refs/heads/sptiwari/convtranspose_update3
- refs/heads/sptiwari/convtranspose_update5
- refs/heads/sptiwari/convtranspose_update6
- refs/heads/sptiwari/convtranspose_update7
- refs/heads/sptiwari/dilated_conv
- refs/heads/sptiwari/dilated_conv_non_mkldnn_test
- refs/heads/sptiwari/disable_test_conv_setup
- refs/heads/sptiwari/elu_fix2
- refs/heads/sptiwari/fasterRcnn_NoFastMath
- refs/heads/sptiwari/fasterRcnn_freeDim3
- refs/heads/sptiwari/group_conv_cudnn7
- refs/heads/sptiwari/group_conv_input_validation
- refs/heads/sptiwari/mkldnn
- refs/heads/sptiwari/mkldnn_first_round
- refs/heads/sptiwari/mkldnn_first_round2
- refs/heads/sptiwari/mnist_onnx_group_conv_fix
- refs/heads/sptiwari/model_fix_test
- refs/heads/sptiwari/one_hot_onnx
- refs/heads/sptiwari/one_hot_onnx2
- refs/heads/sptiwari/ones_zeros_like_op
- refs/heads/sptiwari/onnx1.2_merge
- refs/heads/sptiwari/onnx_avg_pool_stride
- refs/heads/sptiwari/onnx_conv_reload
- refs/heads/sptiwari/onnx_conv_reload2
- refs/heads/sptiwari/onnx_convtrans_fix2
- refs/heads/sptiwari/onnx_convtranspose_fixes
- refs/heads/sptiwari/onnx_emotion_fix
- refs/heads/sptiwari/onnx_emotion_fix1
- refs/heads/sptiwari/onnx_emotion_fix2
- refs/heads/sptiwari/onnx_emotion_fix3
- refs/heads/sptiwari/onnx_hash_update
- refs/heads/sptiwari/onnx_hash_update2
- refs/heads/sptiwari/onnx_inception_fix
- refs/heads/sptiwari/onnx_inception_fix2
- refs/heads/sptiwari/onnx_infra_for_simple_batch_ops2
- refs/heads/sptiwari/onnx_lrn_fix
- refs/heads/sptiwari/onnx_merge_with_master
- refs/heads/sptiwari/onnx_pooling_overhaul
- refs/heads/sptiwari/onnx_resnet3d
- refs/heads/sptiwari/onnx_topk
- refs/heads/sptiwari/shufflenet
- refs/heads/sptiwari/straight_through_op
- refs/heads/sptiwari/straight_through_op2
- refs/heads/sptiwari/test_onnx_branch_reversion
- refs/heads/sptiwari/update_depth2space
- refs/heads/sptiwari/update_onnx_metadata
- refs/heads/szhao/cntkport
- refs/heads/t-alkhar/cntk-board
- refs/heads/t-alkhar/distributed-sequence-example
- refs/heads/t-alkhar/distributed-testing
- refs/heads/t-alkhar/graph-output-bug-fix
- refs/heads/t-alkhar/resnet-example-fix
- refs/heads/t-alkhar/tensorboard-cntk-connect
- refs/heads/t-alkhar/visualization-tool
- refs/heads/t-anqli/gan
- refs/heads/t-ivrodr/adding_more_cpp_cs_eval_examples
- refs/heads/t-ivrodr/binary_reader_changes_rev
- refs/heads/t-ivrodr/ctfparser_multithread
- refs/heads/t-ivrodr/fix_for_bufferedreader
- refs/heads/t-ivrodr/fix_percentage_epoch_progress
- refs/heads/t-ivrodr/fix_segfaul_nonprimitive_func
- refs/heads/t-ivrodr/naming_nodes_resnet_example
- refs/heads/t-ivrodr/refactoring_readers_file_handling
- refs/heads/t-ivrodr/setting_py_value_to_deserializer
- refs/heads/t-ivrodr/small_fixes_to_training_log
- refs/heads/t-ivrodr/uncommenting_cs_examples
- refs/heads/t-ivrodr/using_filewrapper_in_bin_reader
- refs/heads/t-kax/bfsmn
- refs/heads/t-kax/debug-fsmn
- refs/heads/t-kax/fix-param-share-bug
- refs/heads/t-kax/fsmn
- refs/heads/t-makrei/YOLOv2
- refs/heads/t-makrei/hierClass
- refs/heads/t-makrei/hierarchical_FastRCNN
- refs/heads/t-makrei/new_yolo
- refs/heads/t-makrei/transpose-fix
- refs/heads/t-mofun/learners_grad_clip_doc
- refs/heads/t-mofun/rmspropgraves
- refs/heads/t-tiah/LMNCE-dev
- refs/heads/t-tiah/lm
- refs/heads/t-tiah/reader-debug
- refs/heads/t-tidett/ExtendedCUDAErrors
- refs/heads/t-tidett/memoryswapping
- refs/heads/t-tidett/memoryswappingWithFlagToTrue
- refs/heads/t-tidett/onDemandMemorySwapping
- refs/heads/t-titan/attention
- refs/heads/t-titan/shiftread
- refs/heads/thhoens/NewBinaryReader
- refs/heads/thhoens/atomic
- refs/heads/thhoens/atomic-nosync
- refs/heads/thhoens/atomic-nosync-nop
- refs/heads/thhoens/basemat
- refs/heads/thhoens/binreader
- refs/heads/thhoens/bnfix
- refs/heads/thhoens/cdssm
- refs/heads/thhoens/cuda7
- refs/heads/thhoens/distgradfix
- refs/heads/thhoens/mblayout
- refs/heads/thhoens/multi
- refs/heads/thhoens/multivalid
- refs/heads/thhoens/nbr
- refs/heads/thhoens/nbr2
- refs/heads/thhoens/newbinreader
- refs/heads/thhoens/nosync
- refs/heads/thhoens/packmatrix
- refs/heads/thhoens/pathfix
- refs/heads/thhoens/perf2
- refs/heads/thhoens/perf4
- refs/heads/thhoens/reader
- refs/heads/thhoens/readertest
- refs/heads/thhoens/s2s
- refs/heads/thhoens/seq2seq
- refs/heads/thhoens/sparsematrix
- refs/heads/thhoens/sparsemul
- refs/heads/thhoens/syncguard
- refs/heads/thhoens/test
- refs/heads/thhoens/unatomic
- refs/heads/thhoens/unatomic-nosync
- refs/heads/thhoens/unatomic-nosync-nop
- refs/heads/thiagofc/Dockerfile
- refs/heads/thiagofc/clean
- refs/heads/thiagofc/ctf_parser_perf
- refs/heads/thiagofc/ctf_parser_test
- refs/heads/thiagofc/disable-csharp-target-for-linux
- refs/heads/thiagofc/disable-failing-tests
- refs/heads/thiagofc/disable-many-tests
- refs/heads/thiagofc/fix-build
- refs/heads/thiagofc/fix-cntk-dev-docker
- refs/heads/thiagofc/fix-conda-env
- refs/heads/thiagofc/fix-debug-target-on-linux
- refs/heads/thiagofc/fix-docker-image
- refs/heads/thiagofc/fix-nightly-build
- refs/heads/thiagofc/fix-warning
- refs/heads/thiagofc/increase-batch-norm-spatial-error-tolerance
- refs/heads/thiagofc/make-master-green
- refs/heads/thiagofc/pr3558
- refs/heads/thiagofc/revert-mkl-dnn-upgrade
- refs/heads/thiagofc/temporarily-disable-doctests
- refs/heads/thiagofc/test-reset
- refs/heads/thiagofc/update-anaconda-and-pytest
- refs/heads/thiagofc/update-mkldnn-to-0.14-on-windows
- refs/heads/thiagofc/update-mkldnn-to-v0.14
- refs/heads/thiagofc/update-windows-server-dockerfile
- refs/heads/tix/FixParallelBuild
- refs/heads/tix/convertEvalExampleTestToNetCore
- refs/heads/tix/fixExamples
- refs/heads/tix/memoryPinning
- refs/heads/tix/testCifar
- refs/heads/users/fmegen/brainwave-cntk-beta15
- refs/heads/v-igquin/fix-binary-conv
- refs/heads/v-igquin/fix-doc-forward-backward
- refs/heads/v-lelu/facereader
- refs/heads/v-lelu/facereader-test
- refs/heads/v-lelu/inception-resnet-v2
- refs/heads/v-lelu/inceptionv4
- refs/heads/v-niveli/mem_sharing_supressed
- refs/heads/v-niveli/mpi_bcast_with_profiler
- refs/heads/v-rodemo/disable-node-timing
- refs/heads/v-rodemo/fix-batchnorm-freedimension
- refs/heads/v-yuxgu/caffe2cntk
- refs/heads/v-yuxgu/crosstalkcaffe-bugfix
- refs/heads/v-yuxgu/model2cntk
- refs/heads/v-yuxgu/psroipooling
- refs/heads/v-yuxgu/rpn
- refs/heads/v-yuxgu/sigmoid
- refs/heads/v-zhke/fb-ssgd
- refs/heads/v-zhke/model2cntk_testcase
- refs/heads/v-zhke/smb_verify
- refs/heads/v-zhke/ssgd_experiment
- refs/heads/vad
- refs/heads/vadimma/AddLogs
- refs/heads/vadimma/AddSaveLogs
- refs/heads/vadimma/BMUF
- refs/heads/vadimma/CTC
- refs/heads/vadimma/CTCDebug
- refs/heads/vadimma/CTCNode
- refs/heads/vadimma/CTC_R
- refs/heads/vadimma/EMBR
- refs/heads/vadimma/EMBR1
- refs/heads/vadimma/Eval_optimizations
- refs/heads/vadimma/ExtendedEvalExample
- refs/heads/vadimma/FixLN
- refs/heads/vadimma/FixRepetitiveValueUpdate
- refs/heads/vadimma/LatticeDebug
- refs/heads/vadimma/LatticeParallel
- refs/heads/vadimma/ModelVersionLog
- refs/heads/vadimma/MomDouble
- refs/heads/vadimma/MomentumLog
- refs/heads/vadimma/QuantizedParameter
- refs/heads/vadimma/RNNT-optimize
- refs/heads/vadimma/ReaderPrint
- refs/heads/vadimma/RemoveCodeDuplication
- refs/heads/vadimma/SE_debug
- refs/heads/vadimma/adambs
- refs/heads/vadimma/adambs-cuda9
- refs/heads/vadimma/badlat
- refs/heads/vadimma/binaryMLF
- refs/heads/vadimma/binaryMLF2
- refs/heads/vadimma/binaryMLF3
- refs/heads/vadimma/binmlf
- refs/heads/vadimma/bmlfex
- refs/heads/vadimma/context
- refs/heads/vadimma/context9
- refs/heads/vadimma/ctc_ndl
- refs/heads/vadimma/evaluateStreamMode
- refs/heads/vadimma/exposeSE
- refs/heads/vadimma/fb
- refs/heads/vadimma/fcontext
- refs/heads/vadimma/fixCNTKCompat
- refs/heads/vadimma/fse
- refs/heads/vadimma/latency-control-blstm-2.5
- refs/heads/vadimma/latpar
- refs/heads/vadimma/lc-blstm-sq
- refs/heads/vadimma/lc_fix
- refs/heads/vadimma/maxerrors
- refs/heads/vadimma/mlfreader
- refs/heads/vadimma/nccl_bmuf
- refs/heads/vadimma/reader_c
- refs/heads/vadimma/rightContext
- refs/heads/vadimma/rnnt
- refs/heads/vadimma/rnnt-compressed
- refs/heads/vadimma/rnnt2
- refs/heads/vadimma/rnnt_cuda_debug
- refs/heads/vadimma/rnnt_cuda_eval
- refs/heads/vadimma/se_de
- refs/heads/vadimma/sed
- refs/heads/vadimma/stableTanh
- refs/heads/vadimma/testfp16
- refs/heads/vadimma/testlr
- refs/heads/vadimma/wu
- refs/heads/vadimma/wuf
- refs/heads/vadimmia/binary
- refs/heads/vlivan/large-minibatches
- refs/heads/vlivan/linux-gpu-locking
- refs/heads/vlivan/linux-reader-catchup
- refs/heads/vlivan/linux-reader-catchup2
- refs/heads/vlivan/test-master
- refs/heads/wdarling/axisdoc
- refs/heads/wdarling/lstmaux
- refs/heads/wdarling/pythongru
- refs/heads/wdarling/tutorial
- refs/heads/wdarling/update_fastrcnn
- refs/heads/wdarling/updatezeroes
- refs/heads/weba/FixBatchNorm
- refs/heads/weixi/autolr
- refs/heads/weixi/conttrain
- refs/heads/weixi/lfmmi
- refs/heads/weixi/lfmmi-2-lstm
- refs/heads/weixi/lfmmi-2pass
- refs/heads/weixi/lfmmi-2pass-cr
- refs/heads/weixi/lfmmi-2pass-test
- refs/heads/weixi/lfmmi-conttrain
- refs/heads/weixi/lfmmi-conttrain-neg
- refs/heads/weixi/lfmmi-conttrain-wlstm
- refs/heads/weixi/lfmmi-debug
- refs/heads/weixi/lfmmi-memzip
- refs/heads/weixi/lfmmi-new
- refs/heads/weixi/oldbuild
- refs/heads/weixi/pcv
- refs/heads/weixi/waynecoding
- refs/heads/wilrich/cntkv2Cython
- refs/heads/wilrich/cntkv2Swig
- refs/heads/wilrich/rl
- refs/heads/wolfma/checkdep
- refs/heads/wolfma/instsplat
- refs/heads/wolfma/mkl2017
- refs/heads/wolfma/setup
- refs/heads/wolfma/t-makrei/transpose-fix
- refs/heads/xiaoyongzhu-master
- refs/heads/xwang/tts-lace
- refs/heads/yacheo/h-softmax
- refs/heads/yacheo/h-softmax-fix
- refs/heads/yanchen/copy-api-internals
- refs/heads/yanchen/custom-attrs
- refs/heads/yanchen/custom-attrs-future
- refs/heads/yanchen/custom-attrs-loadbuf
- refs/heads/yanchen/custom-op-desc
- refs/heads/yanchen/future-attrs
- refs/heads/yanchen/load-from-mem
- refs/heads/yanchen/load-from-memory
- refs/heads/yanchen/null-output-owner
- refs/heads/yanchen/onnx-description
- refs/heads/yanchen/output-mapping
- refs/heads/yanchen/primitive-func
- refs/heads/yanchen/rm-asserts
- refs/heads/yanchen/wchar
- refs/heads/yaronwe/hide-protobuf
- refs/heads/yingsh/OrderedCEWithSM
- refs/heads/yuqing/HDF5Reader
- refs/heads/yuqtang/AugmentMinibatchSourceAPI
- refs/heads/yuqtang/ChangeOneHotDefaultToSparse
- refs/heads/yuqtang/DebugCrossTalkConv2d
- refs/heads/yuqtang/DebugGPUMemory
- refs/heads/yuqtang/DyanmicChunkDescriptions
- refs/heads/yuqtang/EnableDefMBSizeInStreamInfo
- refs/heads/yuqtang/FixBugsInNoBackPropOpsGradients
- refs/heads/yuqtang/FixDistributedTrainingCounts
- refs/heads/yuqtang/FreeAxisTensorTimes
- refs/heads/yuqtang/FunctionalLearningParameter
- refs/heads/yuqtang/GradOnGatherIndices
- refs/heads/yuqtang/ImplDefMbSizeStreamForUserDeserializer
- refs/heads/yuqtang/LambdaDeserializer
- 218d2da137c9ba38d2ae272e0a557d74c5408d6a
- Branches list truncated to 1001 entries, 71 were omitted.
Cook and download a directory from the Software Heritage Vault
You have requested the cooking of the directory with identifier None into a standard tar.gz archive
.
Are you sure you want to continue ?
Download a directory from the Software Heritage Vault
You have requested the download of the directory with identifier None as a standard tar.gz archive
.
Are you sure you want to continue ?
Cook and download a revision from the Software Heritage Vault
You have requested the cooking of the history heading to revision with identifier swh:1:rev:218d2da137c9ba38d2ae272e0a557d74c5408d6a into a bare git archive
.
Are you sure you want to continue ?
Download a revision from the Software Heritage Vault
You have requested the download of the history heading to revision with identifier swh:1:rev:218d2da137c9ba38d2ae272e0a557d74c5408d6a as a bare git archive
.
Are you sure you want to continue ?
Invalid Email !
The provided email is not well-formed.
Download link has expired
The requested archive is no longer available for download from the Software Heritage Vault.
Do you want to cook it again ?
Take a new snapshot of a software origin
If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.
Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.Processing "take a new snapshot" request ...
To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.
little docstring fixes
// CrossProcessMutex.h -- implements a system-wide mutex to allow for system-wide GPU locking
#pragma once
// implementations differ greatly between Windows and Linux
#include <cassert>
#include <string>
#ifdef WIN32 // --- Windows version
#define NOMINMAX
#include "Windows.h" // for HANDLE
class CrossProcessMutex
{
// no-copying
CrossProcessMutex(const CrossProcessMutex&);
void operator=(const CrossProcessMutex&);
std::string m_name; // lock name
HANDLE m_handle;
public:
CrossProcessMutex(const std::string& name)
: m_handle(NULL),
m_name("Global\\" + name)
{
}
// Acquires the mutex. If 'wait' is true and mutex is acquired by someone else then
// function waits until mutex is released
// Returns false if !wait and lock cannot be acquired, or in case of a system error that prevents us from acquiring the lock.
bool Acquire(bool wait)
{
assert(m_handle == NULL);
m_handle = ::CreateMutexA(NULL /*security attr*/, FALSE /*bInitialOwner*/, m_name.c_str());
if (m_handle == NULL)
{
if (!wait)
return false; // can't lock due to access permissions: lock already exists, consider not available
else
RuntimeError("Acquire: Failed to create named mutex %s: %d.", m_name.c_str(), GetLastError());
}
if (::WaitForSingleObject(m_handle, wait ? INFINITE : 0) != WAIT_OBJECT_0)
{
// failed to acquire
::CloseHandle(m_handle);
m_handle = NULL;
return false;
}
return true; // succeeded
}
// Releases the mutex
void Release()
{
assert(m_handle != NULL);
// TODO: Check for error code and throw if !std::uncaught_exception()
::ReleaseMutex(m_handle);
::CloseHandle(m_handle);
m_handle = NULL;
}
~CrossProcessMutex()
{
if (m_handle != NULL)
{
Release();
}
}
};
#else // --- Linux version
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/file.h>
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <signal.h>
class CrossProcessMutex
{
// no-copying
CrossProcessMutex(const CrossProcessMutex&);
void operator=(const CrossProcessMutex&);
int m_fd; // file descriptor
std::string m_fileName; // lock file name
struct flock m_lock; // fnctl lock structure
static void noOpAlarmHandler(int /*signum*/)
{
// this handler is intentionally NO-OP
// the side effect of execution this handler
// will be a termination of fcntl call below with EINTR
}
static void setupTimeout(int seconds)
{
struct sigaction action = {};
action.sa_handler = &CrossProcessMutex::noOpAlarmHandler;
sigaction(SIGALRM, &action, NULL);
alarm(seconds);
}
public:
CrossProcessMutex(const std::string& name)
: m_fd(-1),
m_fileName("/var/lock/" + name)
{
}
// Acquires the mutex. If 'wait' is true and mutex is acquired by someone else then
// function waits until mutex is released
// Returns false if !wait and lock cannot be acquired, or in case of a system error that prevents us from acquiring the lock.
bool Acquire(bool wait)
{
assert(m_fd == -1);
for (;;)
{
// opening a lock file
int fd = open(m_fileName.c_str(), O_WRONLY | O_CREAT, 0666);
if (fd < 0)
RuntimeError("Acquire: Failed to open lock file %s: %s.", m_fileName.c_str(), strerror(errno));
// locking it with the fcntl API
memset(&m_lock, 0, sizeof(m_lock));
m_lock.l_type = F_WRLCK;
// BUG: fcntl call with F_SETLKW doesn't always reliably detect when lock is released
// As a workaround, using alarm() for interupting fcntl if it waits more than 1 second
setupTimeout(1);
int r = fcntl(fd, wait ? F_SETLKW : F_SETLK, &m_lock);
if (errno == EINTR)
{
sleep(1);
// retrying in the case of signal or timeout
close(fd);
continue;
}
if (r != 0)
{
// acquire failed
close(fd);
return false;
}
// we own the exclusive lock on file descriptor, but we need to double-check
// that the lock file wasn't deleted and/or re-created;
// checking this by comparing inode numbers
struct stat before, after;
fstat(fd, &before);
if (stat(m_fileName.c_str(), &after) != 0 || before.st_ino != after.st_ino)
{
// we have a race with 'unlink' call in Release()
// our lock is held to the previous instance of the file;
// this is not a problem, we just need to retry locking the new file
close(fd);
continue;
}
else
{
// lock acquired successfully
m_fd = fd;
return true;
}
}
}
// Releases the mutex
void Release()
{
assert(m_fd != -1);
// removing file
unlink(m_fileName.c_str());
// Note: file is intentionally removed *before* releasing the lock
// to ensure that locked file isn't deleted by the non-owner of the lock
m_lock.l_type = F_UNLCK;
// Now removing the lock and closing the file descriptor
// waiting processes will be notified
// TODO: Check for error code and throw if !std::uncaught_exception()
fcntl(m_fd, F_SETLKW, &m_lock);
close(m_fd);
m_fd = -1;
}
~CrossProcessMutex()
{
if (m_fd != -1)
{
Release();
}
}
};
#endif
Computing file changes ...