1
1
# Bifrost
2
2
3
- | ** ` CPU build ` ** | ** ` Coverage ` ** |
4
- | ----------------------| ----------------------|
5
- | [ ![ Travis] ( https://travis-ci.org /ledatelescope/bifrost.svg?branch=master )] ( https://travis-ci.org /ledatelescope/bifrost ) | [ ![ Coverage Status] ( https://coveralls.io/repos/github/ledatelescope/bifrost/badge.svg )] ( https://coveralls.io/github/ledatelescope/bifrost ) |
3
+ | ** ` CPU Build ` ** | ** ` GPU Build ` ** | ** ` Coverage ` ** |
4
+ | -----------------| ----------------- | ----------------|
5
+ | [ ![ Travis] ( https://travis-ci.com /ledatelescope/bifrost.svg?branch=master )] ( https://travis-ci.com /ledatelescope/bifrost ) | [ ![ Build Status ] ( https://fornax.phys.unm.edu/jenkins/buildStatus/icon?job=Bifrost )] ( https://fornax.phys.unm.edu/jenkins/job/Bifrost/ ) | [ ![ Coverage Status] ( https://coveralls.io/repos/github/ledatelescope/bifrost/badge.svg )] ( https://coveralls.io/github/ledatelescope/bifrost ) |
6
6
7
7
A stream processing framework for high-throughput applications.
8
8
@@ -11,7 +11,7 @@ A stream processing framework for high-throughput applications.
11
11
### [ Bifrost Documentation] ( http://ledatelescope.github.io/bifrost/ )
12
12
### [ Bifrost Roadmap] ( ROADMAP.md )
13
13
14
- ## A simple pipeline
14
+ ## A Simple Pipeline
15
15
16
16
Here's a snippet that reads Sigproc filterbank files, applies a
17
17
Fast Dispersion Measure Transform (FDMT) on the GPU, and writes
@@ -36,7 +36,7 @@ bf.get_default_pipeline().run()
36
36
print " All done"
37
37
```
38
38
39
- ## A more complex pipeline
39
+ ## A More Complex Pipeline
40
40
41
41
Below is a longer snippet that demonstrates some additional features
42
42
of Bifrost pipelines, including the BlockChainer tool, block scopes,
@@ -73,7 +73,7 @@ pipeline.run()
73
73
print " All done"
74
74
```
75
75
76
- ## Feature overview
76
+ ## Feature Overview
77
77
78
78
- Designed for sustained high-throughput stream processing
79
79
- Python API wraps fast C++/CUDA backend
@@ -87,11 +87,11 @@ print "All done"
87
87
88
88
## Installation
89
89
90
- ### C dependencies
90
+ ### C Dependencies
91
91
92
92
$ sudo apt-get install exuberant-ctags
93
93
94
- ### Python dependencies
94
+ ### Python Dependencies
95
95
96
96
* numpy
97
97
* contextlib2
@@ -102,7 +102,7 @@ print "All done"
102
102
$ sudo pip install numpy contextlib2 pint git+https://github.com/olsonse/ctypesgen.git@9bd2d249aa4011c6383a10890ec6f203d7b7990f
103
103
```
104
104
105
- ### Bifrost installation
105
+ ### Bifrost Installation
106
106
107
107
Edit ** user.mk** to suit your system, then run:
108
108
@@ -116,7 +116,7 @@ You can call the following for a local Python installation:
116
116
117
117
$ sudo make install PYINSTALLFLAGS="--prefix=$HOME/usr/local"
118
118
119
- ### Docker container
119
+ ### Docker Container
120
120
121
121
Install dependencies:
122
122
@@ -136,7 +136,7 @@ For CPU-only builds:
136
136
$ make docker-cpu
137
137
$ docker run --rm -it ledatelescope/bifrost
138
138
139
- ### Running tests
139
+ ### Running Tests
140
140
141
141
To run all CPU and GPU tests:
142
142
@@ -146,7 +146,7 @@ To run all CPU and GPU tests:
146
146
147
147
### [ Online Bifrost Documentation] ( http://ledatelescope.github.io/bifrost/ )
148
148
149
- ### Building the docs with Docker
149
+ ### Building the Docs with Docker
150
150
151
151
To quickly build the docs using Docker, ensure that you have
152
152
built a Bifrost container as ` ledatelescope/bifrost ` .
@@ -156,7 +156,7 @@ run it, and have it complete the docs-building process for you,
156
156
outputting the entire html documentation inside ` docs/html ` on
157
157
your machine.
158
158
159
- ### Building the docs from scratch
159
+ ### Building the Docs from Scratch
160
160
161
161
Install sphinx and breathe using pip, and also install Doxygen.
162
162
@@ -171,6 +171,48 @@ by running
171
171
172
172
inside the /docs directory.
173
173
174
+ ## Telemetry
175
+
176
+ By default Bifrost installs with basic Python telemetry enabled in
177
+ order to help inform how the software is used and to help inform future
178
+ development. The data collected as part of this consist seven things:
179
+ * a timestamp for when the report is generated,
180
+ * a unique installation identifier,
181
+ * the Bifrost version being used,
182
+ * the execution time of the Python process that imports Bifrost,
183
+ * which Bifrost modules are imported,
184
+ * which Bifrost functions are used and their average execution times, and
185
+ * which Bifrost scripts are used.
186
+ These data are sent to the Bifrost developers using a HTTP POST request where
187
+ they are aggregated.
188
+
189
+ Users can opt out of telemetry collection using:
190
+
191
+ ``` python
192
+ from bifrost import telemetry
193
+ telemetry.disable()
194
+ ```
195
+
196
+ or by using the included ` bifrost_telemetry.py ` script:
197
+
198
+ ```
199
+ python bifrost_telemetry.py --disable
200
+ ```
201
+
202
+ This command will set a disk-based flag that disables the reporting process.
203
+
204
+ ## Acknowledgement
205
+
206
+ If you make use of Bifrost as part of your data collection or analysis please
207
+ include the following acknowledgement in your publications:
208
+
209
+ > This research has made use of Bifrost (Cranmer et al. 2017). Continued
210
+ > development of Bifrost is supported by NSF award OAC/2103707.
211
+
212
+ and cite:
213
+
214
+ > \bibitem[ Cranmer et al.(2017)] {2017JAI.....650007C} Cranmer, M.~ D., Barsdell, B.~ R., Price, D.~ C., et al.\ 2017, Journal of Astronomical Instrumentation, 6, 1750007. doi:10.1142/S2251171717500076
215
+
174
216
## Contributors
175
217
176
218
* Ben Barsdell
0 commit comments