Skip to content
Snippets Groups Projects
Commit eda8fbb9 authored by wfg's avatar wfg
Browse files

Preparing Makefile

Changed Doxyfile to print inclusion diagrams
Reorganized code to allow mpidummy.h inclusion replacing mpi.h for
single source object.
parent 91ede10a
No related branches found
No related tags found
1 merge request!8Integrate groupless
......@@ -3,61 +3,88 @@
# Author: wfg
TOOL_DIR=/usr/bin
SYS_BIN:=/usr/bin
UTIL_LIB:=/usr/local/lib
#COMPILERS
CC=$(TOOL_DIR)/g++
ifeq($(CC),"clang")
CC=$(TOOL_DIR)/clang
endif
MPICC=$(TOOL_DIR)/mpic++
AR=$(TOOL_DIR)/ar
CC:=$(SYS_BIN)/g++
MPICC:=$(SYS_BIN)/mpic++
AR:=$(SYS_BIN)/ar
#FLAGS
CFLAGS=-c -Wall -O0 -g -Wpedantic -std=c++11
ifeq($(NETCDF),"yes")
CFLAGS:=-c -Wall -O0 -g -Wpedantic -std=c++11
#INCLUDE FILES
ADIOS_INC=-I./include
INCLUDE=$(ADIOS_INC)
#ADIOS FLAGS
HFiles:=$(shell find ./include -type f -name "*.h")
CPPFiles:=$(shell find ./src -type f -name "*.cpp")
#Build Header Dependencies, if one changes it will rebuild
MPI_HFiles=$(shell find ./include/mpi -type f -name "*.h")
NoMPI_HFiles=$(shell find ./include/nompi -type f -name "*NoMPI.h")
Local_HFiles=$(shell find ./include -type f -name "*.h")
HFiles=$(MPI_HFiles) $(NoMPI_HFiles) $(Local_HFiles)
#Source *.cpp Files and Object Files
MPI_CPPFiles=$(shell find ./src/mpi -type f -name "*.cpp")
MPI_ObjFiles=$(patsubst ./src/mpi/transport/%.cpp, ./bin/%.o, $(MPI_CPPFiles))
#EXTERNAL DEPENDENCIES
LIBS := -L$(UTIL_LIB)
NoMPI_CPPFiles=$(shell find ./src/nompi -type f -name "*NoMPI.cpp")
NoMPI_ObjFiles=$(patsubst ./src/nompi/transport/%.cpp, ./bin/%.o, $(NoMPI_CPPFiles))
ifeq ($(HAVE_NETCDF),yes)
CFLAGS += -DHAVE_NETCDF
LIBS += -netcdf
else
HFiles:=$(filter-out ./include/transport/CNetCDF4.h,$(HFiles))
CPPFiles:=$(filter-out ./src/transport/CNetCDF4.cpp,$(CPPFiles))
endif
Common_CPPFiles=$(wildcard ./src/*.cpp)
Common_ObjFiles=$(patsubst ./src/%.cpp, ./bin/%.o, $(Common_CPPFiles))
NoMPI_Common_ObjFiles=$(patsubst ./src/%.cpp, ./bin/%_nompi.o, $(Common_CPPFiles)) # use for nompi
ObjFiles=$(MPI_ObjFiles) $(NoMPI_ObjFiles)
#MPI_CPPFiles=$(shell find ./src/mpi -type f -name "*.cpp")
OBJFiles:=$(patsubst %.cpp, ./bin/%.o, $(notdir $(CPPFiles)) )
all:
@echo $(HFiles);
@echo $(CFLAGS);
@echo $(LIBS);
@echo $(CPPFiles);
@echo $(OBJFiles)
##INCLUDE FILES
#ADIOS_INC=-I./include
#INCLUDE=$(ADIOS_INC)
#
#
#
#
##Build Header Dependencies, if one changes it will rebuild
#MPI_HFiles=$(shell find ./include/mpi -type f -name "*.h")
#NoMPI_HFiles=$(shell find ./include/nompi -type f -name "*NoMPI.h")
#Local_HFiles=$(shell find ./include -type f -name "*.h")
#HFiles=$(MPI_HFiles) $(NoMPI_HFiles) $(Local_HFiles)
#
##Source *.cpp Files and Object Files
#MPI_CPPFiles=$(shell find ./src/mpi -type f -name "*.cpp")
#MPI_ObjFiles=$(patsubst ./src/mpi/transport/%.cpp, ./bin/%.o, $(MPI_CPPFiles))
#
#NoMPI_CPPFiles=$(shell find ./src/nompi -type f -name "*NoMPI.cpp")
#NoMPI_ObjFiles=$(patsubst ./src/nompi/transport/%.cpp, ./bin/%.o, $(NoMPI_CPPFiles))
#
#Common_CPPFiles=$(wildcard ./src/*.cpp)
#Common_ObjFiles=$(patsubst ./src/%.cpp, ./bin/%.o, $(Common_CPPFiles))
#NoMPI_Common_ObjFiles=$(patsubst ./src/%.cpp, ./bin/%_nompi.o, $(Common_CPPFiles)) # use for nompi
#
#ObjFiles=$(MPI_ObjFiles) $(NoMPI_ObjFiles)
#Build all MPI and noMPI
all: $(MPI_ObjFiles) $(NoMPI_ObjFiles) $(Common_ObjFiles) $(HFiles)
$(AR) rcs ./lib/libadios.a $(MPI_ObjFiles) $(NoMPI_ObjFiles) $(Common_ObjFiles)
#NoMPI build
nompi: $(NoMPI_ObjFiles) $(NoMPI_Common_ObjFiles) $(NoMPI_HFiles) $(Local_HFiles)
$(AR) rcs ./lib/libadios_nompi.a $(NoMPI_ObjFiles) $(NoMPI_Common_ObjFiles)
./bin/%.o: ./src/nompi/transport/%.cpp $(NoMPI_HFiles) $(Local_HFiles)
$(CC) $(CFLAGS) $(INCLUDE) -o $@ $<
./bin/%_nompi.o: ./src/%.cpp $(NoMPI_HFiles) $(Local_HFiles)
$(CC) $(CFLAGS) $(INCLUDE) -o $@ $<
#all: $(MPI_ObjFiles) $(NoMPI_ObjFiles) $(Common_ObjFiles) $(HFiles)
# $(AR) rcs ./lib/libadios.a $(MPI_ObjFiles) $(NoMPI_ObjFiles) $(Common_ObjFiles)
#
##NoMPI build
#nompi: $(NoMPI_ObjFiles) $(NoMPI_Common_ObjFiles) $(NoMPI_HFiles) $(Local_HFiles)
# $(AR) rcs ./lib/libadios_nompi.a $(NoMPI_ObjFiles) $(NoMPI_Common_ObjFiles)
#
#./bin/%.o: ./src/nompi/transport/%.cpp $(NoMPI_HFiles) $(Local_HFiles)
# $(CC) $(CFLAGS) $(INCLUDE) -o $@ $<
#
#./bin/%_nompi.o: ./src/%.cpp $(NoMPI_HFiles) $(Local_HFiles)
# $(CC) $(CFLAGS) $(INCLUDE) -o $@ $<
clean_nompi:
......
......@@ -32,13 +32,13 @@ DOXYFILE_ENCODING = UTF-8
# title of most generated pages and in a few other places.
# The default value is: My Project.
PROJECT_NAME = "ADIOSPP"
PROJECT_NAME = ADIOS
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = 2.0
PROJECT_NUMBER = 2.00
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
......@@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.
OUTPUT_DIRECTORY = .
OUTPUT_DIRECTORY =
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and
......@@ -422,7 +422,7 @@ EXTRACT_ALL = YES
# be included in the documentation.
# The default value is: NO.
EXTRACT_PRIVATE = YES
EXTRACT_PRIVATE = NO
# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
# scope will be included in the documentation.
......@@ -771,7 +771,7 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.
INPUT = /home/wfg/workspace/ADIOSPP/include /home/wfg/workspace/ADIOSPP/include/mpi/transport /home/wfg/workspace/ADIOSPP/include/nompi/transport /home/wfg/workspace/ADIOSPP/include/transform /home/wfg/workspace/ADIOSPP/src /home/wfg/workspace/ADIOSPP/src/mpi/transport /home/wfg/workspace/ADIOSPP/src/nompi/transport
INPUT = /home/wfg/workspace/ADIOSPP/src /home/wfg/workspace/ADIOSPP/include
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
......@@ -802,7 +802,7 @@ FILE_PATTERNS =
# be searched for input files as well.
# The default value is: NO.
RECURSIVE = NO
RECURSIVE = YES
# The EXCLUDE tag can be used to specify files and/or directories that should be
# excluded from the INPUT source files. This way you can easily exclude a
......@@ -1988,7 +1988,7 @@ PERLMOD_MAKEVAR_PREFIX =
# C-preprocessor directives found in the sources and include files.
# The default value is: YES.
ENABLE_PREPROCESSING = NO
ENABLE_PREPROCESSING = YES
# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
# in the source code. If set to NO, only conditional compilation will be
......@@ -2339,7 +2339,7 @@ DOT_PATH =
# command).
# This tag requires that the tag HAVE_DOT is set to YES.
DOTFILE_DIRS = /home/wfg/workspace/ADIOSPP/include /home/wfg/workspace/ADIOSPP/include/mpi/transport /home/wfg/workspace/ADIOSPP/include/nompi/transport
DOTFILE_DIRS =
# The MSCFILE_DIRS tag can be used to specify one or more directories that
# contain msc files that are included in the documentation (see the \mscfile
......@@ -2388,7 +2388,7 @@ DOT_GRAPH_MAX_NODES = 50
# Minimum value: 0, maximum value: 1000, default value: 0.
# This tag requires that the tag HAVE_DOT is set to YES.
MAX_DOT_GRAPH_DEPTH = 3
MAX_DOT_GRAPH_DEPTH = 0
# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
# background. This is disabled by default, because dot on Windows does not seem
......
......@@ -23,6 +23,7 @@
#endif
#include "core/CVariable.h"
#include "core/SAttribute.h"
#include "core/CTransport.h"
......@@ -31,6 +32,9 @@
namespace adios
{
/**
* Class that defines each ADIOS Group composed of Variables, Attributes and a Transport method
*/
class CGroup
{
......@@ -111,7 +115,7 @@ public:
*/
void Monitor( std::ostream& logStream ) const;
void Close( );
void Close( ); ///< Close Group
private:
......
......@@ -40,13 +40,9 @@ public:
virtual ~CTransform( );
virtual void WriteTransform( ) = 0;
virtual void Compress( ) const = 0; ///< Compress m_Variable data m_Value
virtual void ReadTransform( ) = 0;
virtual void GetCompressedLength( ) const = 0;
virtual void GetExpandedLength( ) const = 0;
virtual void Decompress( ) const = 0; ///< Ext m_Variable data m_Value
};
......
......@@ -34,8 +34,8 @@ public:
const unsigned int m_Iteration;
MPI_Comm m_MPIComm;
std::string m_FileName;
std::string m_AccessMode;
std::string m_FileName; ///< file name associated with a group that owns the transport
std::string m_AccessMode; ///< read, write, append
CTransport( const std::string method, const unsigned int priority, const unsigned int iteration,
MPI_Comm mpiComm ):
......
......@@ -15,6 +15,7 @@
#include <sstream>
/// \endcond
namespace adios
{
......
......@@ -20,8 +20,8 @@
#include "public/mpidummy.h"
#endif
#include "core/CGroup.h"
#include "core/CTransport.h"
#include "public/SSupport.h"
......@@ -73,9 +73,9 @@ public: // PUBLIC Constructors and Functions define the User Interface with ADIO
/**
* @brief Get the total sum of payload and overhead, which includes name, data type, dimensions and other metadata
* @param groupName
* @return group size in
* @return group size in MB
*/
unsigned long int GroupSize( const std::string groupName ) const;
unsigned long int GetGroupSize( const std::string groupName ) const;
/**
* Submits a data element values for writing and associates it with the given variableName
......@@ -93,7 +93,11 @@ public: // PUBLIC Constructors and Functions define the User Interface with ADIO
*/
void MonitorGroups( std::ostream& logStream ) const;
void Close( const std::string groupName ); // dumps to file?
/**
* Close a particular group
* @param groupName
*/
void Close( const std::string groupName );
......@@ -112,6 +116,7 @@ private:
*/
std::map< std::string, CGroup > m_Groups;
std::map< std::string, CTransform > m_Transforms;
/**
* @brief Maximum buffer size in ADIOS write() operation. From buffer max - size - MB in XML file
......
......@@ -11,11 +11,14 @@
/*
A dummy MPI 'implementation' for the BP READ API, to have an MPI-free version of the API
*/
/// \cond EXCLUDE_FROM_DOXYGEN
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdint.h>
#include <stdio.h>
/// \endcond
#ifdef __cplusplus
extern "C" {
......
......@@ -33,13 +33,9 @@ public:
~CBZIP2( );
void WriteTransform( );
void Compress( ) const;
void ReadTransform( );
void GetCompressedLength( ) const;
void GetExpandedLength( ) const;
void Decompress( ) const;
};
......
......@@ -25,20 +25,17 @@ class CSZIP : public CTransform
public:
/**
* Initialize parent method
* CSZIP constructor
* @param compressionLevel
* @param variable
*/
CSZIP( const unsigned int compressionLevel, CVariable& variable );
~CSZIP( );
void WriteTransform( );
void Compress( ) const;
void ReadTransform( );
void GetCompressedLength( ) const;
void GetExpandedLength( ) const;
void Decompress( ) const;
};
......
......@@ -24,20 +24,18 @@ class CZLIB : public CTransform
public:
/**
* Initialize parent method
* CZLIB Constructor
* @param compressionLevel
* @param variable
*/
CZLIB( const unsigned int compressionLevel, CVariable& variable );
~CZLIB( );
void WriteTransform( );
void ReadTransform( );
void Compress( ) const;
void GetCompressedLength( ) const;
void GetExpandedLength( ) const;
void Decompress( ) const;
};
......
......@@ -17,7 +17,7 @@ namespace adios
{
class CMPIAggregate : public CTransportMPI
class CMPIAggregate : public CTransport
{
public:
......
......@@ -5,9 +5,8 @@
* Author: wfg
*/
/// \cond EXCLUDED_FROM_DOXYGEN
#include <iostream>
/// \endcond
#include "core/CGroup.h"
......
......@@ -8,7 +8,7 @@
/*
A dummy MPI implementation for the BP READ API, to have an MPI-free version of the API
*/
/// \cond EXCLUDE_FROM_DOXYGEN
#include <stdint.h>
#include <inttypes.h>
#include <stdio.h>
......@@ -17,6 +17,7 @@
#include <sys/types.h>
#include <sys/time.h>
#include <unistd.h>
/// \endcond
#include "public/mpidummy.h"
......
/*
* CBZIP2.cpp
*
* Created on: Oct 19, 2016
* Author: wfg
*/
#include "transform/CBZIP2.h"
namespace adios
{
CBZIP2::CBZIP2( const unsigned int compressionLevel, CVariable& variable ):
CTransform( "bzip2", compressionLevel, variable )
{ }
CBZIP2::~CBZIP2( )
{ }
void CBZIP2::Compress( ) const
{ }
void CBZIP2::Compress( ) const
{ }
} //end namespace
/*
* CSZIP.cpp
*
* Created on: Oct 19, 2016
* Author: wfg
*/
#include "transform/CSZIP.h"
namespace adios
{
CSZIP::CSZIP( const unsigned int compressionLevel, CVariable& variable ):
CTransform( "szip", compressionLevel, variable )
{ }
CSZIP::~CSZIP( )
{ }
void CSZIP::Compress( ) const
{ }
void CSZIP::Compress( ) const
{ }
} //end namespace
/*
* CZLIB.cpp
*
* Created on: Oct 19, 2016
* Author: wfg
*/
#include "transform/CZLIB.h"
namespace adios
{
CZLIB::CZLIB( const unsigned int compressionLevel, CVariable& variable ):
CTransform( "szip", compressionLevel, variable )
{ }
CZLIB::~CZLIB( )
{ }
void CZLIB::Compress( ) const
{ }
void CZLIB::Decompress( ) const
{ }
} //end namespace
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment