Skip to content

Commit

Permalink
Merge pull request #278 from CamStan/master
Browse files Browse the repository at this point in the history
Merge dev into master for release 0.2.0
  • Loading branch information
adammoody authored Feb 26, 2019
2 parents 6b237f6 + 00a1bfb commit 5553275
Show file tree
Hide file tree
Showing 201 changed files with 22,620 additions and 10,044 deletions.
143 changes: 0 additions & 143 deletions .github/CONTRIBUTING.md

This file was deleted.

33 changes: 28 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
clocal.m4
aclocal.m4
autom4te.cache
build
config.*
Expand Down Expand Up @@ -48,16 +48,39 @@ log

# project files
server/src/unifycrd
util/unifycr/src/unifycr

# generated package files
client/unifycr-config
client/unifycr.pc
extras/unifycr.conf
libtool
m4/libtool.m4
m4/ltoptions.m4
m4/ltsugar.m4
m4/ltversion.m4
m4/lt~obsolete.m4
meta/src/Mlog2/.dirstamp
t/sys/.dirstamp

# test files
client/tests/test_read_gotcha
client/tests/test_read_static
client/tests/test_write_gotcha
client/tests/test_write_static
client/unifycr-runtime-config.h
examples/src/app-btio-gotcha
examples/src/app-btio-static
examples/src/app-mpiio-gotcha
examples/src/app-mpiio-static
examples/src/sysio-read-gotcha
examples/src/sysio-read-static
examples/src/app-tileio-gotcha
examples/src/app-tileio-static
examples/src/sysio-write-gotcha
examples/src/sysio-write-static
examples/src/sysio-writeread-gotcha
examples/src/sysio-writeread-static
examples/src/sysio-writeread2-gotcha
examples/src/sysio-writeread2-static
examples/src/app-hdf5-create-gotcha
examples/src/app-hdf5-writeread-gotcha
t/sys/open.t
t/test-results/
t/unifycr_unmount.t
Expand Down
21 changes: 16 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,24 @@ before_install:
# MPI projects.
- test -n $CC && unset CC
- sudo apt-get -qq update
- sudo apt-get install --yes -qq build-essential autoconf libtool
- sudo apt-get install --yes -qq build-essential autoconf libtool cmake
- sudo apt-get install --yes -qq libopenmpi-dev openmpi-bin
- sudo apt-get install --yes -qq libhdf5-openmpi-dev
- (cd $HOME/spack; git describe) || git clone https://github.com/spack/spack $HOME/spack
- $HOME/spack/bin/spack install leveldb
- $HOME/spack/bin/spack install gotcha
- $HOME/spack/bin/spack install environment-modules
- $HOME/spack/bin/spack install leveldb
- $HOME/spack/bin/spack install [email protected]
- $HOME/spack/bin/spack install flatcc
# insall margo with spack
- git config --global http.sslVerify false
- git clone https://xgitlab.cels.anl.gov/sds/sds-repo.git $HOME/sds-repo.git
- $HOME/spack/bin/spack repo add $HOME/sds-repo.git
- $HOME/spack/bin/spack install margo
- git config --global http.sslVerify true
# prepare build environment
- . $HOME/spack/share/spack/setup-env.sh
- spack load environment-modules
- source <(spack module loads gotcha leveldb)
- source <(spack module tcl loads leveldb gotcha@0.0.2 flatcc mercury argobots margo)
- eval $(./scripts/git_log_test_env.sh)
- export TEST_CHECKPATCH_SKIP_FILES

Expand All @@ -29,7 +38,9 @@ before_cache:
script:
# Force git to update the shallow clone and include tags so git-describe works
- git fetch --unshallow --tags
- sh autogen.sh && ./configure && make -k && make distcheck
- sh autogen.sh
- ./configure || cat config.log
- make -k && make distcheck
- ./scripts/checkpatch.sh || test "$TEST_CHECKPATCH_ALLOW_FAILURE" = yes

after_failure:
Expand Down
2 changes: 1 addition & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
SUBDIRS = meta server client t
SUBDIRS = common meta server client examples extras t util

CONFIG = ordered

Expand Down
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,17 @@ scalable metadata indexing, co-located I/O delegation, and server-side read
clustering and pipelining.

## Documentation
Full UnifyCR documentation is contained [here](http://unifycr.readthedocs.io).
Full UnifyCR documentation is contained [here](https://unifycr.readthedocs.io).

Use [Build & I/O Interception](http://unifycr.readthedocs.io/en/latest/build-intercept.html)
Use [Build & I/O Interception](http://unifycr.readthedocs.io/en/dev/build-intercept.html)
for instructions on how to build and install UnifyCR.

## Build Status
The current status of the UnifyCR dev branch is:

[![Build Status](https://api.travis-ci.org/LLNL/UnifyCR.png?branch=dev)](https://travis-ci.org/LLNL/UnifyCR)
[![Read the Docs](https://readthedocs.org/projects/unifycr/badge/?version=dev)](https://unifycr.readthedocs.io)

## Contribute and Develop
We have a separate document with
[contribution guidelines](./.github/CONTRIBUTING.md).
Contributing guidelines can be found in our
[documentation](https://unifycr.readthedocs.io/en/dev/style-guides.html).
2 changes: 1 addition & 1 deletion client/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
SUBDIRS = src tests
SUBDIRS = src

bin_SCRIPTS = unifycr-config

Expand Down
50 changes: 3 additions & 47 deletions client/check_fns/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,50 +12,6 @@ They are also used to generate the code required for GOTCHA.
- unifycr_list.txt - list of wrappers in UnifyCR
- unifycr_unsupported_list.txt - list of wrappers in UnifyCR that implemented, but not supported

# Running the unifycr_check_fns tool

This tool identifies the set of I/O calls used in an application by running nm on the executable.
It reports any I/O routines used by the app, which are not supported by UnifyCR.
If an application uses an I/O routine that is not supported, it likely cannot use UnifyCR.
If the tool does not report unsupported wrappers,
the app may work with UnifyCR but it is not guaranteed to work.

unifycr_check_fns <executable>

# Building the GOTCHA list

The gotcha_map_unifycr_list.h file contains the code necessary to wrap I/O functions with GOTCHA.
This is generated from the unifycr_list.txt file by running the following command:

python unifycr_translate.py unifycr_list

# Commands to build files

## fakechroot_list.txt
The fakechroot_list.txt file lists I/O routines implemented in fakechroot.
This list was generated using the following commands:

git clone https://github.com/fakechroot/fakechroot.git fakechroot.git
cd fakechroot.git/src
ls *.c > fakechroot_list.txt

## gnulibc_list.txt
The gnulibc_list.txt file lists I/O routines available in libc.
This list was writte by hand using information from
[http://www.gnu.org/software/libc/manual/html_node/I_002fO-Overview.html#I_002fO-Overview](http://www.gnu.org/software/libc/manual/html_node/I_002fO-Overview.html#I_002fO-Overview).

## cstdio_list.txt
The cstdio_list.txt file lists I/O routines available in libstdio..
This list was written by hand using information from
[http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf](http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf).

## unifycr_list.txt
The unifycr_list.txt file specifies the set of wrappers in UnifyCR.
Most but not all such wrappers are supported.
The command to build unifycr list:

grep UNIFYCR_WRAP ../src/*.c > unifycr_list.txt

## unifycr_unsupported_list.txt
The unify_unsupported_list.txt file specifies wrappers that are in UnifyCR, but are known to not actually be supported.
This list is written by hand.
Our [Wrapper Guide](https://unifycr.readthedocs.io/en/dev/wrappers.html)
has the full documentation on running the unifycr_check_fns tool, building the
GOTCHA list, and building the other .txt files here.
Loading

0 comments on commit 5553275

Please sign in to comment.