Skip to content

Commit

Permalink
Merge pull request #70 from LLNL/develop
Browse files Browse the repository at this point in the history
UMAP Version 0.0.4
  • Loading branch information
mcfadden8 authored Dec 21, 2018
2 parents ebb7dd0 + 2060ad1 commit 25a2dcd
Show file tree
Hide file tree
Showing 106 changed files with 6,603 additions and 4,605 deletions.
41 changes: 27 additions & 14 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,30 +1,43 @@
#############################################################################
# Copyright (c) 2018, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory
#
# Created by Marty McFadden, 'mcfadden8 at llnl dot gov'
# LLNL-CODE-733797
#
# All rights reserved.
#
# This file is part of UMAP.
#
# For details, see https://github.com/LLNL/umap
# Please also see the COPYRIGHT and LICENSE files for LGPL license.
#############################################################################
cmake_minimum_required (VERSION 3.5.1)
project(umap
VERSION 0.0.3
project(umap
VERSION 0.0.4
LANGUAGES CXX C
)

OPTION (ENABLE_CFITS "Build umap with Logging enabled" Off)
OPTION (ENABLE_FITS_TESTS "Build FITS-based Tests (requires qfits library)" Off)
OPTION (ENABLE_TESTS "Selects whether tests are built." On)
OPTION (ENABLE_LOGGING "Build umap with Logging enabled" On)
OPTION (ENABLE_STATS "Enable display statistics on exit" Off)

include(cmake/BuildEnv.cmake)
include(cmake/BuildType.cmake)
include(cmake/SetupUmapThirdParty.cmake)

set(UMAP_ENABLE_LOGGING ${ENABLE_LOGGING})
set(UMAP_ENABLE_CFITS ${ENABLE_CFITS})
set(UMAP_DISPLAY_STATS ${ENABLE_STATS})

set(UMAP_DEBUG_LOGGING ${ENABLE_LOGGING})
configure_file(
${PROJECT_SOURCE_DIR}/config/config.h.in
${PROJECT_BINARY_DIR}/include/config.h)
${PROJECT_BINARY_DIR}/src/include/config.h)

add_subdirectory(src)
set (UMAPINCLUDEDIRS
"${CMAKE_BINARY_DIR}/src/include"
"${CMAKE_SOURCE_DIR}/src/include"
"${CMAKE_SOURCE_DIR}/src/logging"
"${CMAKE_SOURCE_DIR}/src/store"
)

if ( ENABLE_TESTS )
add_subdirectory(tests)
endif()
add_subdirectory(src)
add_subdirectory(examples)
add_subdirectory(tests)

8 changes: 3 additions & 5 deletions COPYRIGHT
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
UMAP is developed by Lawrence Livermore National Security.
The following copyrights apply:

Copyright (c) 2017, Lawrence Livermore National Security, LLC. Produced at
the Lawrence Livermore National Laboratory. Written by Maya Gokhal
'gokhale2 at llnl dot gov', Marty McFadden 'mcfadden8 at llnl dot gov',
and Xiao Liu 'liu61 at llnl dot gov' LLNL-CODE-733797. All rights reserved.
Copyright (c) 2018, Lawrence Livermore National Security, LLC. Produced at
the Lawrence Livermore National Laboratory. Written by Marty McFadden
'mcfadden8 at llnl dot gov' LLNL-CODE-733797. All rights reserved.

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License (as published by the Free
Expand All @@ -16,4 +15,3 @@ Public License for more details. You should have received a copy of the GNU
Lesser General Public License along with this program; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307 USA.

31 changes: 14 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# UMAP v0.0.3 (alpha)
# UMAP v0.0.4 (alpha)

[![Documentation Status](https://readthedocs.org/projects/llnl-umap/badge/?version=develop)](https://llnl-umap.readthedocs.io/en/develop/?badge=develop)

Umap is a library that provides an mmap()-like interface to a simple, user-
space page fault handler based on the userfaultfd Linux feature (starting with
Expand All @@ -11,10 +13,6 @@ The tests directory contains various tests written to test the library
including a hello world program for userfaultfd based upon code from the
[userfaultfd-hello-world project](http://noahdesu.github.io/2016/10/10/userfaultfd-hello-world.html).


The sortbenchmark directory is the original sort benchmark, modified to use
threads rather than forking processes.

## Quick Start

*Building umap* is trivial. In the root directory of the repo
Expand All @@ -26,15 +24,19 @@ cmake -DCMAKE_INSTALL_PREFIX = <where you want the sofware> ..
make install
```

The default for cmake is to build a Debug version of the software. If you would like to build an optimized (-O3)
version, simply run
The default for cmake is to build a Debug version of the software. If you
would like to build an optimized (-O3) version, simply run
```bash
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX = <where you want the sofware> ..
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=<install-dir> ..
```

## umap() Interface
## Documentation

The interface is currently a work in progress (see [umap.h](include/umap.h)).
Both user and code documentation is available
[here](http://llnl-umap.readthedocs.io/).

If you have build problems, we have comprehensive
[build sytem documentation](https://llnl-umap.readthedocs.io/en/develop/advanced_configuration.html) too!

## License

Expand All @@ -43,11 +45,6 @@ The interface is currently a work in progress (see [umap.h](include/umap.h)).

## Contact

Primary contact/Lead developer

- Maya Gokhale ([email protected])

Other developers

- Marty McFadden ([email protected])
- Xiao Liu ([email protected])
- Maya Gokhale ([email protected])
- Eric Green ([email protected])
14 changes: 14 additions & 0 deletions cmake/BuildEnv.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
#############################################################################
# Copyright (c) 2018, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory
#
# Created by Marty McFadden, 'mcfadden8 at llnl dot gov'
# LLNL-CODE-733797
#
# All rights reserved.
#
# This file is part of UMAP.
#
# For details, see https://github.com/LLNL/umap
# Please also see the COPYRIGHT and LICENSE files for LGPL license.
#############################################################################
# Set up the language supported for the build environment
set (CMAKE_CXX_STANDARD 11)
set (CMAKE_C_STANDARD 99)
14 changes: 14 additions & 0 deletions cmake/BuildType.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
#############################################################################
# Copyright (c) 2018, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory
#
# Created by Marty McFadden, 'mcfadden8 at llnl dot gov'
# LLNL-CODE-733797
#
# All rights reserved.
#
# This file is part of UMAP.
#
# For details, see https://github.com/LLNL/umap
# Please also see the COPYRIGHT and LICENSE files for LGPL license.
#############################################################################
# Set a default build type if none was specified
set( default_build_type "Release" )
if ( EXISTS "${CMAKE_SOURCE_DIR}/.git" )
Expand Down
34 changes: 14 additions & 20 deletions cmake/SetupUmapThirdParty.cmake
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
if ( ENABLE_CFITS )
find_library( CFITS_LIBRARY
libcfitsio.a
PATHS ${CFITS_LIBRARY_PATH}
)
#############################################################################
# Copyright (c) 2018, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory
#
# Created by Marty McFadden, 'mcfadden8 at llnl dot gov'
# LLNL-CODE-733797
#
# All rights reserved.
#
# This file is part of UMAP.
#
# For details, see https://github.com/LLNL/umap
# Please also see the COPYRIGHT and LICENSE files for LGPL license.
#############################################################################

if ( NOT CFITS_LIBRARY )
message( FATAL_ERROR "Could not find CFITS library, make sure CFITS_LIBRARY_PATH is set properly")
endif()

find_path( CFITS_INCLUDE_DIR
fitsio.h
PATHS ${CFITS_INCLUDE_PATH}
)

if ( NOT CFITS_INCLUDE_DIR )
message(FATAL_ERROR "Could not find CFITS include directory, make sure CFITS_INCLUDE_PATH is set properly")
endif()

include_directories( ${CFITS_INCLUDE_DIR} )
endif()
18 changes: 16 additions & 2 deletions config/config.h.in
Original file line number Diff line number Diff line change
@@ -1,8 +1,22 @@
// the (cmake) configured options and settings for umap
//////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, Lawrence Livermore National Security, LLC.
// Produced at the Lawrence Livermore National Laboratory
//
// Created by Marty McFadden, 'mcfadden8 at llnl dot gov'
// LLNL-CODE-733797
//
// All rights reserved.
//
// This file is part of UMAP.
//
// For details, see https://github.com/LLNL/umap
// Please also see the COPYRIGHT and LICENSE files for LGPL license.
//////////////////////////////////////////////////////////////////////////////

#ifndef _UMAP_UMAPCONFIG_H
#define _UMAP_UMAPCONFIG_H
#define UMAP_VERSION_MAJOR @umap_VERSION_MAJOR@
#define UMAP_VERSION_MINOR @umap_VERSION_MINOR@
#define UMAP_VERSION_PATCH @umap_VERSION_PATCH@
#cmakedefine UMAP_DISPLAY_STATS
#cmakedefine UMAP_DEBUG_LOGGING
#endif
Loading

0 comments on commit 25a2dcd

Please sign in to comment.