https://github.com/Microsoft/CNTK
Revision dc65c2b57d857694256f32d962f58d79b4813da1 authored by Namgoo Lee on 31 July 2018, 00:45:32 UTC, committed by Namgoo Lee on 31 July 2018, 01:03:17 UTC
Valgrind sometimes reports "Source and destination overlap in memcpy" on
the overloaded = operator of SmallVector class. Whenever it is reported,
the src address and the dest address of memcpy is actually identical.

The solution in this commit is to check the src and dest address first,
and do memcpy only if they are not identical. This should be enough to
handle the issue, since the only case they overlap is when they are
identical, provided that the m_data is a member of a class.
1 parent 3d753db
Raw File
Tip revision: dc65c2b57d857694256f32d962f58d79b4813da1 authored by Namgoo Lee on 31 July 2018, 00:45:32 UTC
Fix overlapping memcpy reported by valgrind in SmallVector
Tip revision: dc65c2b
.gitignore
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

# User-specific files
*.suo
*.user
*.sln.docstates
*.orig
\#*
.\#*
.vscode

# Local build configuration
Config.make

# Build results

[Dd]ebug/
[Rr]elease/
x64/
build/
[Bb]in/
[Oo]bj/
.run-*
lib/
bin/
Generated Files/

# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
!packages/*/build/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

*_i.c
*_p.c
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.idb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.tlog
*.vspscc
*.vssscc
.builds
*.pidb
*.log
*.scc
*.dep
*.o
*.d
*.intermediate
*.resfiles

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile
*.userosscache

# Visual Studio profiler
*.psess
*.vsp
*.vspx

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# NCrunch
*.ncrunch*
.*crunch*.local.xml

# Installshield output folder
[Ee]xpress/

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.Publish.xml

# NuGet Packages Directory
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
#packages/

# Windows Azure Build Output
csx
*.build.csdef

# Windows Store app package directory
AppPackages/

# Others
sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.[Pp]ublish.xml
*.pfx
*.publishsettings

# RIA/Silverlight projects
Generated_Code/

# Backup & report files from converting an old project file to a newer
# Visual Studio version. Backup files are not needed, because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm

# SQL Server files
App_Data/*.mdf
App_Data/*.ldf


#LightSwitch generated files
GeneratedArtifacts/
_Pvt_Extensions/
ModelManifest.xml

# Python
*.pyc
__pycache__/

# =========================
# Windows detritus
# =========================

# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Mac desktop service store files
.DS_Store

*.bak

bin/
LOG
*.log
core
*.lyx#
*.lyx#
*.lyx~

# prebuild file
Source/CNTK/buildinfo.h
Source/CNTKv2LibraryDll/buildinfo.h
Source/CNTKv2LibraryDll/Generated
Source/CNTKv2LibraryDll/tensorboard/tensorboard.pb.h
Source/CNTKv2LibraryDll/tensorboard/tensorboard.pb.cc

# test output
Tests/UnitTests/ReaderTests/Control/**/*_Output.txt
Tests/UnitTests/NetworkTests/Output/
Tests/EndToEndTests/CNTKv2CSharp/ExampleTests/MNISTClassifierTest/*.model
Tests/EndToEndTests/CNTKv2CSharp/ExampleTests/SimpleFeedForwardClassifierTest/feedForward.net*
Tests/EndToEndTests/CNTKv2CSharp/ExampleTests/SimpleFeedForwardClassifierTest/SimpleDataTrain_cntk_text.txt
Tests/EndToEndTests/CNTKv2Python/Examples/layerOutput.txt
Tests/EndToEndTests/CNTKv2Python/Keras/keras-*
Tests/EndToEndTests/UnitTests/MathTests/M.txt
Tests/EndToEndTests/UnitTests/MathTests/MCPU.txt
Tests/EndToEndTests/UnitTests/MathTests/MGPU.txt
Tests/EndToEndTests/UnitTests/MathTests/MS.txt
Tests/UnitTests/MathTests/M.txt
Tests/UnitTests/MathTests/MCPU.txt
Tests/UnitTests/MathTests/MGPU.txt
Tests/UnitTests/MathTests/MS.txt

Tests/Install/linux/BinaryDrops.tar.gz

Dependencies/CNTKCustomMKL/Publish
Dependencies/CNTKCustomMKL/CNTKCustomMKL-Linux-*.tgz
Dependencies/CNTKCustomMKL/CNTKCustomMKL-Windows-*.zip

Tests/EndToEndTests/CNTKv2Python/Examples/models

# Python bindings
bindings/python/_cntk_py*.pyd
bindings/python/cntk.egg-info/
bindings/python/cntk_gpu.egg-info/
bindings/python/cntk/cntk_py.py
bindings/python/cntk/libs/
bindings/python/cntk/cntk_py_wrap.cpp
bindings/python/cntk/cntk_py_wrap.h
bindings/python/cntk/VERSION
bindings/python/dist/
bindings/python/doc/cntk.*.rst
bindings/python/doc/cntk.rst
bindings/python/doc/modules.rst
bindings/python/doc/_build

# Auto-generated sources from CNTK.proto
Source/CNTKv2LibraryDll/proto/CNTK.pb.cc
Source/CNTKv2LibraryDll/proto/CNTK.pb.h

# Auto-generated sources from ONNX proto
Source/CNTKv2LibraryDll/proto/onnx/protobuf/graph.pb.cc
Source/CNTKv2LibraryDll/proto/onnx/protobuf/graph.pb.h
Source/CNTKv2LibraryDll/proto/onnx/protobuf/onnx-ml.pb.cc
Source/CNTKv2LibraryDll/proto/onnx/protobuf/onnx-ml.pb.h

bindings/python/cntk/c_plus_c.mod
bindings/python/cntk/i_plus_c_0.mod
bindings/python/cntk/i_plus_i_0.mod

# CSharp bindings
bindings/csharp/Swig/cntk_cs_wrap.h
bindings/csharp/Swig/cntk_cs_wrap.cxx
bindings/csharp/Swig/cntk_cs_wrap.cxx
bindings/csharp/Swig/Generated/*
bindings/csharp/CNTKLibraryManagedDll/build/Linux/Debug/CSharpBindings/CMakeFiles/CSharpBindings.dir/depend.make
bindings/csharp/CNTKLibraryManagedDll/build/Linux/Release/CSharpBindings/CMakeFiles/CSharpBindings.dir/depend.make

# Java bindings
bindings/java/Swig/cntk_java_wrap.h
bindings/java/Swig/cntk_java_wrap.cxx
bindings/java/**/*.class
bindings/java/Swig/com/
bindings/java/**/target
bindings/java/**/*.jar
bindings/java/Swig/*.asc

# Java Eval Tests
Tests/EndToEndTests/EvalClientTests/JavaEvalTest/.idea
Tests/EndToEndTests/EvalClientTests/JavaEvalTest/data
Tests/EndToEndTests/EvalClientTests/JavaEvalTest/out
Tests/EndToEndTests/EvalClientTests/JavaEvalTest/**/*.class

# Examples and Tutorials
Examples/Image/Classification/AlexNet/Python/Models/
Examples/Image/Classification/ConvNet/Python/Models/
Examples/Image/Classification/GoogLeNet/BN-Inception/Python/Models/
Examples/Image/Classification/ResNet/Python/Models/
Examples/Image/Classification/ResNet/ResNet_18.model
Examples/Image/DataSets/Animals/Test/
Examples/Image/DataSets/Animals/Train/
Examples/Image/DataSets/CIFAR-10/model.cmf
Examples/Image/DataSets/Flowers/jpg/
Examples/Image/DataSets/Flowers/*.txt
Examples/Image/DataSets/ImageNet/test_data/
Examples/Image/DataSets/ImageNet/*.txt
Examples/Image/DataSets/ImageNet/*.zip
Examples/Image/DataSets/Pascal/mappings/*.txt
Examples/Image/DataSets/Pascal/*.txt
Examples/Image/DataSets/Pascal/VOC*
Examples/Image/DataSets/Pascal/selective_search_data*
Examples/Image/DataSets/CIFAR-10/CIFAR-10_mean.xml
Examples/Image/DataSets/CIFAR-10/Test_cntk_text.txt
Examples/Image/DataSets/CIFAR-10/Train_cntk_text.txt
Examples/Image/DataSets/CIFAR-10/cifar-10-batches-py/
Examples/Image/DataSets/CIFAR-10/test/
Examples/Image/DataSets/CIFAR-10/test_map.txt
Examples/Image/DataSets/CIFAR-10/test_regrLabels.txt
Examples/Image/DataSets/CIFAR-10/train/
Examples/Image/DataSets/CIFAR-10/train_map.txt
Examples/Image/DataSets/CIFAR-10/train_regrLabels.txt
Examples/Image/DataSets/MNIST/Test-28x28_cntk_text.txt
Examples/Image/DataSets/MNIST/Train-28x28_cntk_text.txt
Examples/Image/DataSets/grocery/negative/
Examples/Image/DataSets/grocery/positive/
Examples/Image/DataSets/grocery/testImages/
Examples/Image/DataSets/grocery/*.txt
PretrainedModels/*.model
Examples/Image/Detection/FastRCNN/BrainScript/Output/
Examples/Image/Detection/FastRCNN/BrainScript/proc/
Examples/Image/Detection/FastRCNN/Output/
Examples/Image/Detection/FasterRCNN/Output/
Examples/Image/FeatureExtraction/*.txt
Examples/Image/GettingStarted/Output/
Examples/Image/PretrainedModels/*.model
Examples/Image/PretrainedModels/*.cntkmodel
Examples/SequenceToSequence/CMUDict/Python/Models/
Examples/Speech/AN4/Python/Models/
Examples/Text/CharacterLM/data/tinyshakespeare.txt.vocab
Tutorials/HelloWorld-LogisticRegression/LR.txt.p
Tutorials/HelloWorld-LogisticRegression/Models/
Tutorials/.ipynb_checkpoints/
tutorials/.ipynb_checkpoints/
Tutorials/atis.test.ctf
Tutorials/atis.train.ctf
Tutorials/data/
Tutorials/dqn.mod
Tutorials/pg.mod
Tutorials/query.wl
Tutorials/slots.wl
bindings/python/tutorials/.ipynb_checkpoints
Examples/Text/ATIS/Data
Examples/Tutorials/ImageHandsOn/cifar-10-batches-py
Examples/Video/DataSets/UCF11/action_youtube_naudio/
Examples/Video/DataSets/UCF11/test_map.csv
Examples/Video/DataSets/UCF11/train_map.csv
Tutorials/zip
Manual/*.tmp
Manual/*.ckp
Manual/.ipynb_checkpoints
Examples/Text/LightRNN/LightRNN/*.so

# other
packages/
/CNTK.VC.db
/CNTK.VC.VC.opendb
/Local
.vs/
cscope.out
/Source/CNTKv2LibraryDll/proto/onnx/onnx/protobuf/onnx-operators-ml.pb.h
/Source/CNTKv2LibraryDll/proto/onnx/onnx/protobuf/onnx-operators-ml.pb.cc
/Source/CNTKv2LibraryDll/proto/onnx/onnx/protobuf/onnx-ml.pb.h
/Source/CNTKv2LibraryDll/proto/onnx/onnx/protobuf/onnx-ml.pb.cc
back to top