Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
459 commits
Select commit Hold shift + click to select a range
0129e82
Added GPU JPEG decode
willcrichton May 18, 2017
7df24b2
Fixed the build
willcrichton May 18, 2017
3bc7085
Fixed nextPacket failure in GPU JPEG decoder
willcrichton May 18, 2017
4cc714a
Fix stenciling for large stencils (+ add support for batching)
fpoms May 19, 2017
58d9ed1
Update face detect example to take a path argument
fpoms May 18, 2017
c6bfb1f
Improved hyperlapse performance
willcrichton May 20, 2017
5b3b7c6
Fixed swscale link
willcrichton May 20, 2017
6c629f0
Fix encoded video memory leak
fpoms May 21, 2017
7bfb564
Fix race condition in decoder automata
fpoms May 21, 2017
f4539cb
Don't delete data before using it :)
fpoms May 21, 2017
f688fbd
Fixed swscale linkg
willcrichton May 21, 2017
6360c09
More checks in memcpy
willcrichton May 21, 2017
0e9a087
Add CPU memcpy
willcrichton May 21, 2017
958843a
Fixed cvc build error
willcrichton May 21, 2017
ae5d3af
Fixed leak in encoder
willcrichton May 21, 2017
9d2267f
Restored encode profiler
willcrichton May 21, 2017
1de2a84
Fix bug with pre-evaluate worker not producing warmup rows
fpoms May 22, 2017
7db96e8
Should insert frame instead of element
fpoms May 23, 2017
f80a831
Fix bug in kernel grouping
fpoms May 24, 2017
c09ebc7
Fix bug where decoder was getting frame information relative to items
fpoms May 28, 2017
6f30d65
Fixed end of task scenarios involving batching not giving sub batches
fpoms May 28, 2017
03d0d76
Support batching on discard kernel
fpoms May 28, 2017
c86183b
Accidental printfs
fpoms May 28, 2017
65c1d71
Copy decoder race condition fix from master
fpoms May 28, 2017
59c8360
Update config to take db_path arg, rename item_size to task_size
fpoms May 28, 2017
f7eb10f
Elide copy needed for stencil cache when stencil is just [0]
fpoms May 28, 2017
d138fef
Update python tests for item_size -> task_size
fpoms May 28, 2017
4be8a6e
Fix bugs with stencil cache implementation
fpoms May 29, 2017
eec4e5a
Update GPU optical flow kernel for stencil interface
fpoms May 29, 2017
d090f6b
Added load sparisty threshold, factored out cpu/gpu image decoders
willcrichton May 30, 2017
60b8d1e
Add cmakelists
willcrichton May 30, 2017
8dd35d8
Fix various issues related to stencils and boundaries, add prof opt
fpoms May 31, 2017
274141d
Make work_item_size work again
fpoms Jun 1, 2017
76b9dfc
Merged with master
willcrichton Jun 1, 2017
fcd0c9e
Moved tasks in queue per pu and load sparsity threshold to job params
willcrichton Jun 2, 2017
61736ff
Fix cpptests
willcrichton Jun 2, 2017
5d18cad
Add new tasks_per_pu param to cpptest, add option for no watchdog
fpoms Jun 4, 2017
88e28c8
Factor out video index entry for use in other places
fpoms Jun 4, 2017
eb90d29
Fix bug where stencil cache was not getting cleared for new tasks
fpoms Jun 4, 2017
4368f47
Pull read_video_column out for use by other code
fpoms Jun 7, 2017
84a7be5
Mostly fixed face detection bboxes
willcrichton Jun 9, 2017
8c4ed0e
Added envvars for force cpu decode and no pipelining
willcrichton Jun 14, 2017
b875863
Fixed no pipeline switch
willcrichton Jun 14, 2017
95775bc
Enable batching for hist kernels
fpoms Jun 15, 2017
2dc5dac
Add keyframe distance option for encoding video
fpoms Jun 15, 2017
9056e77
Get master port from master argument in db
fpoms Jun 16, 2017
bb6d33b
Fix memory leak with video encoding
fpoms Jun 16, 2017
4233274
Change default task size to more conservative 250
fpoms Jun 17, 2017
0070244
Only open video files when necessary
fpoms Jun 17, 2017
c6f1e8c
Fix optical flow gpu crash when running a pipeline multiple times
fpoms Jun 18, 2017
025ad0f
Add internal flag for reverting to dynamic work distribution
fpoms Jun 27, 2017
efed47b
Fix y coordinate of cpm output
fpoms Jun 27, 2017
cd89351
Typo
fpoms Jun 27, 2017
2258066
Removing async memcpys improves multi-GPU throughput (???)
fpoms Jul 10, 2017
73191f6
Removed pinned memory pool, added to memcpy
willcrichton Jul 11, 2017
64c3927
Properly support multiple IO packets per task
fpoms Jul 28, 2017
3fb37aa
Remove printfs
fpoms Jul 28, 2017
0889511
Fix build
fpoms Jul 28, 2017
2fdfca4
Change task distribution to be dynamic again
fpoms Jul 29, 2017
9bd2c36
Fix bug with io packets not getting allocated correctly
fpoms Jul 29, 2017
a0b5abb
Fix net descriptor not parsing 'uses_python'
fpoms Jul 29, 2017
af5f048
Fix frcnn output kernel and add obj detection example
fpoms Jul 29, 2017
8d0bf18
Add net download script for frcnn
fpoms Jul 29, 2017
3adabf3
Attempt to fix halide context issue
fpoms Jul 29, 2017
8d55fb8
Fix CPU build
fpoms Jul 29, 2017
0a11ee9
Support multiple output networks in caffe
fpoms Jul 29, 2017
6a9e1ca
Update storehouse to fix file leak issue
fpoms Jul 29, 2017
b86aacb
Working tensorflow kernels :tada:
willcrichton Jul 30, 2017
c841fb4
Add proper glog logging
fpoms Jul 30, 2017
04fd9d8
Fix small bugs
fpoms Jul 30, 2017
e264f33
Fix python gil hanging
fpoms Jul 31, 2017
fb002d9
Memoize table metadata reading
fpoms Aug 1, 2017
baddc06
Option to disable watchdog in Python API
willcrichton Aug 1, 2017
1cd6c93
Added gdbinit
willcrichton Aug 1, 2017
73cb419
Fixed debug case
willcrichton Aug 1, 2017
4a8d73e
Added option to not start cluster on Database init
willcrichton Aug 3, 2017
befd84a
Copy Python source instead of filepath
willcrichton Aug 7, 2017
3538d20
Changes to NO_PIPELINING
willcrichton Aug 9, 2017
7516238
Debugging no pipelining
willcrichton Aug 12, 2017
6047cc5
Cleaned up no pipelining fixes
willcrichton Aug 12, 2017
844a1d1
Fixed picking wrong pinned buffer
willcrichton Aug 14, 2017
183c463
Add ability to construct specific task samples by ID
fpoms Aug 1, 2017
1e2a382
Work item size should not be in kernel config
fpoms Aug 2, 2017
67f65e0
Support unregistering workers
fpoms Aug 2, 2017
323a4a9
Support unregistering worker and adding/removing during job
fpoms Aug 6, 2017
4799a60
Track number of tasks assigned to workers to see load distribution
fpoms Aug 6, 2017
f97bc04
Fix race condition with adding worker, add fault test
fpoms Aug 13, 2017
b7dcb20
GRPC threads should wait on completion queues ot avoid hangs
fpoms Aug 13, 2017
0976291
Make fault test work with debug=False (for travis)
fpoms Aug 14, 2017
65a13e2
Make fault test more robust
fpoms Aug 15, 2017
7d75865
Detect failed workers, sync/flush work before confirm on worker
fpoms Aug 15, 2017
dc6f482
Address will's comments in PR
fpoms Aug 15, 2017
2e9899d
Make sure we get responses for all active workers
fpoms Aug 15, 2017
ff48431
Change cpm2 to use coco keypoints instead of MPI
fpoms Aug 16, 2017
b431f7f
Fix not holding GIL when manipulating py objects in new table
fpoms Aug 16, 2017
b9d93b1
Fix writing to the db with new_table
fpoms Aug 16, 2017
6f33f5a
Add pipeline helper for pose detection, support pose at multiple scales
fpoms Aug 16, 2017
09cc201
Poses utility file
fpoms Aug 16, 2017
affb442
Improve pose nms to be based on joint closeness
fpoms Aug 17, 2017
7bc79e3
Parallel poking!
fpoms Aug 18, 2017
ad03529
Fix bug causing current task sampler to be deleted
fpoms Aug 18, 2017
18559fe
Typo
fpoms Aug 18, 2017
3994006
Add table name/id cache for faster lookup in python
fpoms Aug 18, 2017
b621d0d
Delete tables in bulk
fpoms Aug 18, 2017
96399a8
Typo
fpoms Aug 18, 2017
29e530b
Add op lookup cache
fpoms Aug 18, 2017
ffe1a20
Typo
fpoms Aug 18, 2017
c895329
Fix table lookup
fpoms Aug 18, 2017
e0d8164
Lazily load table descriptors
fpoms Aug 19, 2017
b48bdaa
Add RCP functions for op registration and python kernel registration
fpoms Aug 19, 2017
5356e4c
Add python interface for registering ops and kernels
fpoms Aug 19, 2017
22d64c9
Typo
fpoms Aug 19, 2017
07f650e
Support python kernels importing scanner protobuf types
fpoms Aug 20, 2017
436d3dc
Missing kernel checkin
fpoms Aug 20, 2017
f0f666b
Support numpy outputs in python kernels
fpoms Aug 22, 2017
b8360d4
More aggressive pose nms
fpoms Aug 22, 2017
a2161b0
Update pose detect example to use python kernels
fpoms Aug 22, 2017
9c127e2
Typo
fpoms Aug 22, 2017
05d64cb
Address PR comments
fpoms Aug 22, 2017
40e8265
Set stencil if not specified when registering python kernel
fpoms Aug 22, 2017
0ab3518
Typo
fpoms Aug 22, 2017
55a8c75
Fetch table metadata in parallel on master
fpoms Aug 22, 2017
da23352
Add base class for python kernels
fpoms Aug 23, 2017
3c64fc1
Update face pipeline to scale like pose pipeline
fpoms Aug 23, 2017
3bf2a33
Enable jobs to be specified as thunks for overlapping metadata reading
fpoms Aug 25, 2017
607ec4e
Capture loop variables in job fns
fpoms Aug 25, 2017
96ed374
Update README.md
sdulloor Aug 29, 2017
11f8ee8
Make OpenCV cuda components conditional on if building cuda
fpoms Sep 4, 2017
c17da0c
Added bgr conversion on image encode
willcrichton Sep 5, 2017
bcb30d8
Fix bug when reading non-h264 encoded video
fpoms Sep 8, 2017
ee75fe3
Fix warmup rows not being set correctly
fpoms Sep 8, 2017
03fe1e5
Typo
fpoms Sep 8, 2017
e0ba221
Do not push an io item if it is empty (due to warmup)
fpoms Sep 8, 2017
46bab14
Also check that there are no entries in buffered io item
fpoms Sep 8, 2017
ccc40f6
Install pip requests security to avoid build error
fpoms Sep 24, 2017
e680804
Attempt to upgrade requests
fpoms Sep 24, 2017
bd8875c
Fix shot_detect example
fpoms Oct 3, 2017
6846f5d
Get rid of C++ interface for creating jobs and ops
fpoms Sep 25, 2017
82438be
WIP sampling refactor checkin
fpoms Sep 25, 2017
f972e92
WIP partitioning output rows based on slices
fpoms Oct 4, 2017
97b8fbb
WIP finish master + start on worker
fpoms Oct 5, 2017
c89b991
WIP remap input ops to first input op
fpoms Oct 6, 2017
9f4abfc
WIP get rid of IO item, setup for new dependency analysis
fpoms Oct 6, 2017
9ed213c
Add linked allocator which manages duplicate buffers between devices
fpoms Oct 10, 2017
9823051
WIP, analysis mostly complete, reworking evaluate worker for new ops
fpoms Oct 10, 2017
52a719a
WIP mostly finished evalute worker feed function
fpoms Oct 11, 2017
0658d91
WIP compiling
fpoms Oct 12, 2017
d3cb015
Basic executing python example (still crashes)
fpoms Oct 13, 2017
662e0f9
Basic end-to-end example (that does not work 100% correctly)
fpoms Oct 13, 2017
8b9241a
Working sampling and slicing
fpoms Oct 15, 2017
d8a3f79
Passing tests
fpoms Oct 15, 2017
3833b04
Specify output table by op_args, more work on tutorials + tests
fpoms Oct 17, 2017
fdfd79e
Support bounded and unbounded state Ops in dependency analysis
fpoms Oct 17, 2017
bb94892
Provide kernel with input index to detect warmup
fpoms Oct 17, 2017
3664d35
Update collection tutorial
fpoms Oct 17, 2017
ee97f30
Update collection text
fpoms Oct 17, 2017
e9660ab
All tests now passing
fpoms Oct 19, 2017
e5e6cc5
Fix not properly supporting multiple inputs
fpoms Oct 19, 2017
d3a06d4
Misc fixes
fpoms Oct 19, 2017
93786a2
Update montage example and add montage cpu kernel
fpoms Oct 19, 2017
cda9a7f
Fix multiple inputs and sampling inside a slice
fpoms Oct 19, 2017
9a46133
Typo
fpoms Oct 19, 2017
509cc94
Remove printfs
fpoms Oct 19, 2017
3041fad
Fix hist cpu
fpoms Oct 19, 2017
233196e
Attempt to fix travis
fpoms Oct 25, 2017
224e66e
Attempt to fix travis
fpoms Oct 25, 2017
35c366d
Attempt to fix travis
fpoms Oct 25, 2017
1891ea5
Attempt to fix travis
fpoms Oct 25, 2017
6be61e3
Attempt to fix travis
fpoms Oct 25, 2017
fa8096f
Attempt to fix travis
fpoms Oct 25, 2017
7608af7
Support null elements in python loading
fpoms Oct 25, 2017
f7698e6
Finish up tests
fpoms Oct 25, 2017
c1521b0
Index on element was not getting passed along when copied
fpoms Oct 25, 2017
efcf508
All tests passing
fpoms Oct 25, 2017
9fe67d6
Remove test to fix travis
fpoms Oct 25, 2017
45f8c58
Remove test to fix travis
fpoms Oct 25, 2017
6027388
Update pipeline file, add resnet example
fpoms Oct 28, 2017
229b11e
Update examples to new api, fix tutorials
fpoms Oct 28, 2017
ef34ac8
Fix face detection pipeline
fpoms Oct 28, 2017
2ce7b00
Update notebook for new scanner API
willcrichton Oct 29, 2017
a48757c
Add gcloud guide
willcrichton Nov 1, 2017
81ae07f
Added s3 compat
willcrichton Nov 1, 2017
cf9ee7b
Un-hacked python kernel column types
willcrichton Nov 3, 2017
68918b2
Fixed wrong input to frame column dump
willcrichton Nov 3, 2017
bc3f2ef
Fix typo
fpoms Nov 6, 2017
5274b66
Getting build flags no longer requires loading scanner lib
willcrichton Nov 12, 2017
31098c0
Unnecessary movie
willcrichton Nov 12, 2017
066824b
Fixed build flags bug
willcrichton Nov 12, 2017
b00ba95
Fixed pythonpath
willcrichton Nov 12, 2017
141e8b2
Attempt to update travis DOCKER_PASS
willcrichton Nov 25, 2017
7ca0c60
Attempt to fix login/push on branch updates
willcrichton Nov 25, 2017
a3135d4
Fix docker rmi not removing tagged imaged
fpoms Nov 25, 2017
cde8dea
Fixes #89
fpoms Nov 25, 2017
92888e8
Fixes #88
fpoms Nov 25, 2017
b5dc23a
Do not publish build if branch is not master
fpoms Nov 25, 2017
f6b3f60
Use exit instead of return
fpoms Nov 26, 2017
3cacff4
Shutdown server when process receives SIGINT, fixes #78
fpoms Nov 26, 2017
fb851e5
Support batched input for python kernel
qianl15 Nov 21, 2017
6d8f69d
add s3 support
qianl15 Nov 20, 2017
33eeea4
Support incomplete jobs/tables, fixes #72
fpoms Nov 26, 2017
c232b69
WIP new README
fpoms Nov 26, 2017
273ebf7
WIP new README
fpoms Nov 26, 2017
0b48cb9
Update README, change face pipeline to new NN app style
fpoms Nov 26, 2017
8382bb3
Update face detect doc
fpoms Nov 26, 2017
b3f3143
Use absolute python imports (for py3), add basic sphinx docs
fpoms Nov 27, 2017
480a347
Fix tests not passing due to unicode strings
fpoms Nov 27, 2017
fed2370
Add OpenPose Op, closes #97
fpoms Nov 27, 2017
6c8fd7a
Add facenet CPU support
fpoms Nov 28, 2017
f96ca7f
Fix db new_table for new commit table
fpoms Nov 28, 2017
4278dd6
Fix issue with stenciled kernels
fpoms Nov 28, 2017
3667047
Reorganize examples directory
fpoms Nov 28, 2017
c5783d3
Update README to match new example structure
fpoms Nov 28, 2017
e47fcf6
Build facenet kernel always
fpoms Nov 28, 2017
af7c2be
Fix saved io packets being overwritten
fpoms Nov 29, 2017
049b673
Update apps based on new dir structure
fpoms Nov 29, 2017
c5901c0
Build docker from new base images
fpoms Nov 29, 2017
c0addd5
Use most recent docker on travis
fpoms Nov 29, 2017
a9c8188
Assume Caffe uses all CPUs
fpoms Nov 29, 2017
b16f613
Support different devices for input/output cols, py kernel config
fpoms Nov 29, 2017
2be9892
Fix broken links in README
fpoms Nov 30, 2017
956c1e0
Support new GRPC version (1.7.2)
fpoms Nov 30, 2017
dd1a566
Fix error in shot detection example
fpoms Nov 30, 2017
65e9ac5
Fix scanner not shutting down when receiving SIGINT
fpoms Nov 30, 2017
4957893
Fix missing ascii conversion
willcrichton Dec 10, 2017
b3b03f3
Working deps script
fpoms Dec 18, 2017
3032266
Export env variables in deps.sh, add missing resource files
fpoms Dec 18, 2017
13f9adb
Add cmake find for GRPC, add swscale to ffmpeg cmake
fpoms Dec 18, 2017
f687e6a
GRPC libraries were in wrong order
fpoms Dec 18, 2017
9588b79
Typo
fpoms Dec 18, 2017
eee2709
Merge scanner-docker dockerfiles, update docker to work with deps.sh
fpoms Dec 18, 2017
0caab05
Update docker files to build properly
fpoms Dec 19, 2017
d45a3cf
Update travis build to new dockerfile location
fpoms Dec 19, 2017
69d1e61
Dockerfile should be specified on build, not run cmd
fpoms Dec 19, 2017
a83e5df
Dependencies are already built in base image
fpoms Dec 19, 2017
169cdf5
Do not include openface op in dockerfile for now
fpoms Dec 19, 2017
a76bc3a
Fix not finding halide dir
fpoms Dec 19, 2017
725288c
Caffe should be installed by default
fpoms Dec 19, 2017
7ef520e
Fix TinyToml and Storehouse not being found
fpoms Dec 19, 2017
b699800
Typo
fpoms Dec 19, 2017
d59f8d0
Don't use root logger
willcrichton Dec 19, 2017
b1e2045
Multicore boost build
willcrichton Dec 19, 2017
d146aff
Fix grpc not using proper include flags
fpoms Dec 19, 2017
5c94963
Typo
fpoms Dec 19, 2017
48af7bd
Fix Caffe build in deps.sh
willcrichton Dec 19, 2017
05888ac
Fix grpc install
willcrichton Dec 20, 2017
59a3797
storehousepy -> storehouse
willcrichton Dec 20, 2017
584c7f2
Make docker build context the scanner root
fpoms Dec 19, 2017
1809a6f
Include nvcuvid in docker
fpoms Dec 20, 2017
db5c988
deps.sh:
Kuree Dec 20, 2017
00a0543
Updated INSTALL instructions, proper python package for scanner
fpoms Dec 21, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -811,7 +811,7 @@ RECURSIVE = YES
# Note that relative paths are relative to the directory from which doxygen is
# run.

EXCLUDE = ./scanner/main.cpp
EXCLUDE = ./scanner/main.cpp ./python/scannerpy/build

# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
Expand All @@ -838,7 +838,7 @@ EXCLUDE_PATTERNS =
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories use the pattern */test/*

EXCLUDE_SYMBOLS =
EXCLUDE_SYMBOLS = scanner::internal

# The EXAMPLE_PATH tag can be used to specify one or more files or directories
# that contain example code fragments that are included (see the \include
Expand Down
4 changes: 2 additions & 2 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ BreakStringLiterals: true
ColumnLimit: 80
CommentPragmas: '^ IWYU pragma:'
ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 4
ConstructorInitializerIndentWidth: 2
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
Expand Down Expand Up @@ -89,6 +89,6 @@ SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Auto
TabWidth: 8
TabWidth: 2
UseTab: Never
...
1 change: 1 addition & 0 deletions .gdbinit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
handle SIG40 nostop noprint
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,18 @@
# similar but **not quite** the same. If you add a file here, make sure that
# the Docker build still works.

dependencies.txt
nvidia-docker-compose.yml
.cache
build
**/*.pyc
**/*.trace
thirdparty
!thirdparty/resources
!thirdparty/CMakeLists.txt
python/*.egg-info

**/*.mp4
**/*.mkv

python/scannerpy/include
python/scannerpy/include
4 changes: 3 additions & 1 deletion .scanner.example.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,6 @@ scanner_path = "/opt/scanner"
# bucket = "gcs-bucket"

[network]
master = "localhost:5001"
master = "localhost"
master_port = "5001"
worker_port = "5002"
13 changes: 10 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,24 @@ language: cpp
services:
- docker

addons:
apt:
packages:
- docker-ce

env:
global:
- DOCKER_REPO=scannerresearch/scanner
- [email protected]
- DOCKER_USER=wcrichto
- secure: "Jf7f8UvpJ8yRA/2nnxaRb9jGrzWZvbRVRxzQtmcx+ltBpflmLFbXB6o4sySGETn5YrJe1g4VNWvkFBZIdLY0n+v4AQ/D1eMWtJT+kZLHihVGcxB3G7SUSOyEUaN1DzdHbaRW4VCSXQJWgK48amxlwnNfXtbNkSpiqIifDURBeHK1UT9+w1FKuTDZmEXv+ubDKjXvv1DuPdTtnolItDfrdtKLh5iXgTRvgXFanmNvydIcHqfz+72qJZJRCdTwUrA8FPq7jKNndftX9y2/dKuA/Xd/cP818iR57Z2PJXeR1c6ZmQ0RBTIZ8pdwG6bfix+48a5+aWlPJ3friA0G2b8psdZ/rQMxBbEClTI+BfnuJnYaIW8JREqmOBACBL7/4eo/Jifv1+vl+VhWHSicS6mWg2khCNAMPWj3cIA/bZrRlTmNlC06GkUgnHar/HhovGrowbZCGOxN0CNWWcuCGeLYfvPgPiI4JRU8eq0VqVhhqXZyPuS/RT1FoqZ4mMfNZG+RSIKHU56g5M4elakp/bZdu9lRoS4hr9VFpvPaLorOTOXPa3J+JxmB9OIP+NLxMIGjUhYnSYfTJ9/+Opxg2lWUOdqXzPZsyPyI+4RuIyyPh1w6jN/xD3EqQC55u5JlFlJ1WuNoyhx16QcKu1Eytxd2JxU6LutMw9WgQET53Q3EOVk=" # DOCKER_PASS
- secure: "DAwB02uem8/aIRNfHPknzqZCCmwDlJoQq6r3qE1CyUqkM9VMu6mQa/RBYMBwp3Upny6oI6yBlYJqqVr1rjZzI4by0j0IVhuhQPp2G5DJ/mVZ5PQSJ0bxJtCzm29hHo8hi+EgIk7r7YTcHOr3SRmplf0vM0WFuJplW5fJ6J/RbJSPPpnlTOIgp0Ry9B4eowLhi4b//TbwmtzEX6j4yKxWnDTJ6cV9xRVN1FoNd15PvpiBkOZ3dVGWtdUZm9K3Q3IumeyuemAoTSuKU3r3aqMSamdLf7pmYjpzTrYDT9CMbbEVjzr8M3Y5wFyjQsIdFKzYM/0jRBlUbKaLMhz7a/9vlkplBI954ufOqHiGAx3Cdk4jfkJ3hyucCQqYuQwHxWMmru3lV6jIZf+rYn6UBomHeNN1AIiikZ1EjvNDwY8iwGZPJbcZ42gn2mTaUVxsmwMD757AalTOzZo94+pdFJDjWY6y6kPQlZbdj8AT14bBHf8x8zF8EsZrh/WQMcRgzEU3BcjDE3RIqNgK38Sv1OzqNVTYy57PXbEMKMqfpAQx8FTcx/7NXBRrStrQ24pRZJA+wvkUefpyWZnayyMPvttzB4106GCOWAjSdJEyYQTnZMrXMRX4Qf+NHx6KHlQcExxpww/hSvewsh0JRrvMol5HKXJaZqnF6ZTqxeQdLUDdn3g=" # DOCKER_PASS
- secure: "mJDNPmfRd3cyFNIhRg6TQo8ow5hOS+FC+DX6MLpM6Giv2nL1KkJD0fgnLqgiZeEKDOFHvGpGswGjYTAzNWYeocsneby88w58sNbueUE6PT74UqsbzrmvMhKh2xtEERkJFz5gKvdwc9a4nAvH5ejJW7OZ5OvSscR2vRBl4tUwTuA3czWbod6NwBC/sUrf0jTZhNgZWWWT1j2SLt379Q52Xmd5+ixAaSibctf8hCEMzE/lNsWprR1gO7H89eyLVRQc8VQh8msVtgo7QD/aapr+w96GDWWUAm6z5iNe8gLGZB9v4BtTm82XOV0iefNDfT0fwIhHrM6vqIdiiuMeYMteErT3rF55h0o8hJrP57lwT5u7hU/yxUhNTvtCdJTo8THJihXHbOT7LjxaF20SlJzjARSGZq9mYHeBgv9sGej2jF80iSn+xTAbalVFbc4hKumELnn/D7mGWRTjsGGTbTqNXvTQvxm/QjXmNusav5vKeRFwjbPGfb0iDSfhlZ7BHkR50OyskZ/R/69WjIFS9gBE2pvp4FlVpndKWkkkd4TVSgmnKCXxnQdeNS8We8NodvTBlTcvHFub8j2izKTZRU7FBXRgo9d+Gu+43nSRvjJUgwg/6D6Bou6boVHJo8ib9xzakVjojbJxehatj+dadpuVkG3tjULejPNg/qnjlJc10Pg=" # PYPI_PASS

install:
- sudo apt-get install -y doxygen graphviz python-pip
- pip install doxypypy twine
- sudo apt-get update
- sudo apt-get install -y doxygen graphviz
- sudo pip install requests[security] --upgrade
- sudo pip install doxypypy twine Sphinx

script: ./scripts/travis-build.sh

Expand Down
99 changes: 2 additions & 97 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ project(Scanner)
###### Config options #####
option(BUILD_CUDA "" ON)
option(BUILD_TESTS "" ON)
option(BUILD_SERVER "" OFF)
option(BUILD_EXAMPLES "" ON)
option(ENABLE_PROFILING "" OFF)

if (BUILD_TESTS)
Expand Down Expand Up @@ -66,97 +64,7 @@ if (ENABLE_PROFILING)
add_definitions(-DSCANNER_PROFILING)
endif()

###### Optional Dependencies #######
if (BUILD_CUDA)
find_package(CUDA REQUIRED)
add_definitions(-DHAVE_CUDA)
include_directories(${CUDA_INCLUDE_DIRS})
if(COMPILER_SUPPORTS_CXX1Y)
set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} -std=c++11")
endif()
endif()

if (BUILD_CUDA)
add_library(scanner_halide scanner/engine/halide_context.cpp)
endif()

###### Required Dependencies #######
find_package(SaneProtobuf REQUIRED)
find_package(FFmpeg REQUIRED)
find_package(LibLZMA REQUIRED)
find_package(OpenSSL REQUIRED)
find_package(BZip2 REQUIRED)
find_package(Boost COMPONENTS thread program_options regex python REQUIRED)
find_package(GFlags REQUIRED)
find_package(Glog REQUIRED)
find_package(GoogleTest REQUIRED)
find_package(CURL REQUIRED)
find_package(Iconv REQUIRED)
find_package(Storehouse REQUIRED CONFIG
PATHS "thirdparty/build/bin/storehouse")
find_package(TinyToml REQUIRED)
find_package(PythonLibs 2.7 EXACT REQUIRED)

set(GTEST_INCLUDE_DIRS
"${THIRDPARTY_OUTPUT_PATH}/googletest/include")
set(GTEST_LIBRARIES
"${THIRDPARTY_OUTPUT_PATH}/googletest/lib/libgtest.a")
set(GTEST_LIB_MAIN
"${THIRDPARTY_OUTPUT_PATH}/googletest/lib/libgtest_main.a")

set(SCANNER_LIBRARIES
"${PROTOBUF_LIBRARY}"
"${STOREHOUSE_LIBRARIES}"
"${FFMPEG_LIBRARIES}"
"-L/opt/ffmpeg-3.2.2/lib"
"-lswscale"
"${LIBLZMA_LIBRARIES}"
"${OPENSSL_LIBRARIES}"
"${BZIP2_LIBRARIES}"
"${PROXYGEN_LIBRARIES}"
"${FOLLY_LIBRARIES}"
"${Boost_LIBRARIES}"
"${GFLAGS_LIBRARIES}"
"${GLOG_LIBRARIES}"
"${CURL_LIBRARIES}"
"${ICONV_LIBRARIES}"
"${SCANNER_LIBRARIES}"
"${PYTHON_LIBRARIES}"
"-ljpeg"
"-lz"
"-ldl"
"-lgrpc++_unsecure -lgrpc -lgpr")

include_directories(
"."
"${CMAKE_CURRENT_BINARY_DIR}" # for protobuf generated files
"${PROTOBUF_INCLUDE_DIRS}"
"${FFMPEG_INCLUDE_DIR}"
"${TINYTOML_INCLUDE_DIR}"
"${STOREHOUSE_INCLUDE_DIRS}"
"${OPENSSL_INCLUDE_DIR}"
"${Boost_INCLUDE_DIRS}"
"${GLOG_INCLUDE_DIRS}"
"${LIBLZMA_INCLUDE_DIRS}"
"${PYTHON_INCLUDE_DIRS}")

if (BUILD_TESTS)
include_directories("${GTEST_INCLUDE_DIRS}")
endif()

if (BUILD_CUDA)
list(APPEND SCANNER_LIBRARIES
util_cuda
"${CUDA_LIBRARIES}"
"/usr/lib/x86_64-linux-gnu/libnvcuvid.so"
"-lcuda")
endif()

if (APPLE)
include_directories(
"/System/Library/Frameworks/Accelerate.framework/Versions/Current/Frameworks/vecLib.framework/Versions/Current/Headers/")
elseif()
endif()
include(cmake/Dependencies.cmake)

###### Project code #######
set(PROTO_FILES
Expand Down Expand Up @@ -200,6 +108,7 @@ add_library(scanner SHARED
$<TARGET_OBJECTS:engine>
$<TARGET_OBJECTS:video>
$<TARGET_OBJECTS:util>
scanner/util/halide_context.cpp
${PROTO_SRCS}
${GRPC_PROTO_SRCS}
${STRUCK_SOURCES}
Expand Down Expand Up @@ -236,10 +145,6 @@ endforeach()

add_subdirectory(stdlib)

if (BUILD_EXAMPLES)
add_subdirectory(examples)
endif()

if (BUILD_TESTS)
add_subdirectory(tests)
endif()
20 changes: 0 additions & 20 deletions Dockerfile

This file was deleted.

112 changes: 112 additions & 0 deletions INSTALL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# Building Scanner

*NOTE*: The following build instructions have only been tested on Ubuntu 16.04.

There are five major steps to build and install Scanner:
1 Install apt-get dependencies
2 Install python pip dependencies
3 Run deps.sh to download and install external dependencies
4 Build Scanner
5 Install scannerpy python package

Scanner depends on the following *major* dependencies:

* Python == 2.7
* boost >= 1.63.0
* ffmpeg >= 3.3.1
* opencv >= 3.2.0
* protobuf == 3.4.0
* grpc == 1.7.2
* caffe >= rc5 OR intel-caffe >= 1.0.6

Scanner optionally requires:
* CUDA >= 8.0

Scanner provides a dependency script `deps.sh` to automatically install any or
all of the *major* dependencies if they are not already installed. Each of these
dependencies has a set of required system-level packages. If you need to install
all or most of of these dependencies, run the 'All dependencies' apt-get command
below. If you only need to install a few, we also provide apt-get commands for
each package.

## 1. apt-get Dependencies

All dependencies
```bash
apt-get install \
build-essential \
cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev \
libswscale-dev unzip llvm clang libc++-dev libgflags-dev libgtest-dev \
libssl-dev libcurl3-dev liblzma-dev libeigen3-dev \
libgoogle-glog-dev libatlas-base-dev libsuitesparse-dev libgflags-dev \
libx264-dev libopenjpeg-dev libxvidcore-dev \
libpng-dev libjpeg-dev libbz2-dev git python-pip wget \
libleveldb-dev libsnappy-dev libhdf5-serial-dev liblmdb-dev python-dev \
python-tk autoconf autogen libtool libtbb-dev libopenblas-dev \
liblapacke-dev swig yasm python2.7 cpio \
automake libass-dev libfreetype6-dev libsdl2-dev libtheora-dev libtool \
libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev \
libxcb-xfixes0-dev mercurial pkg-config texinfo wget zlib1g-dev \
curl unzip
```

For gRPC
```bash
apt-get install \
build-essential autoconf automake libtool curl make g++ \
unzip clang libc++-dev libgflags-dev libgtest-dev unzip
```

For OpenCV
```bash
apt-get install \
build-essential cmake git libgtk2.0-dev pkg-config \
python-dev libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev \
libjasper-dev libdc1394-22-dev
```

For FFMPEG
```bash
apt-get -y install \
build-essential autoconf automake build-essential cmake git libass-dev \
libfreetype6-dev \ libsdl2-dev libtheora-dev libtool libva-dev libvdpau-dev \
libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev mercurial \
pkg-config texinfo wget zlib1g-dev
```

## 2. Python Pip Dependencies

Scanner depends on several python packages installable via pip. From the
top-level directory, run:

```bash
pip install -r requirements.txt
```

## 3. Run deps.sh

To install or specify where your *major* dependencies are, run the `deps.sh`
script in the top-level directory. This script will query you for each major
dependency and install those that are not already installed. By default,
it will install the dependencies to a local directory inside the scanner repo
(it will not install system-wide).

## 4. Build Scanner

Run the following commands from the top-level directory:
```bash
mkdir build
cd build
cmake ..
make -j
```

## 5. Install scannerpy python package

Run the following commands from the top-level directory:
```bash
python python/setup.py bdist_wheel
pip install dist/scannerpy-0.1.13-py2-none-any.whl
```

Congratulations! You've installed the scannerpy package.
Loading