Changes to VT:
- configure: - patch Makefiles which define library targets that depend on other libraries to prevent the following Libtool warning: "libtool: link: warning: `...//*.la' seems to be moved" (Libtool getting confused by the "//" in the library paths, so remove the trailing '/' from all *LIBDIR variables.) - vtwrapper: - added options '-vt:showme-<compile|link>' to the compiler wrapper to show the compiler/linker flags that would be supplied to the underlying compiler This commit was SVN r25105.
Этот коммит содержится в:
родитель
b2971df7df
Коммит
f32aab5137
@ -1,4 +1,7 @@
|
|||||||
5.11.2openmpi
|
5.11.2openmpi
|
||||||
|
- added options '-vt:showme-<compile|link>' to the compiler wrapper
|
||||||
|
to show the compiler/linker flags that would be supplied to the
|
||||||
|
underlying compiler
|
||||||
- fixed segmentation fault in vtunify-mpi which might occur during
|
- fixed segmentation fault in vtunify-mpi which might occur during
|
||||||
gathering local marker definitions/spots to master process
|
gathering local marker definitions/spots to master process
|
||||||
|
|
||||||
|
@ -450,6 +450,20 @@ AS_IF([test x"$have_mpi" = "xyes"],
|
|||||||
ACVT_CONF_TITLE([Final output])
|
ACVT_CONF_TITLE([Final output])
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|
||||||
|
# Patch Makefiles which define library targets that depend on other libraries
|
||||||
|
# to prevent the following Libtool warning:
|
||||||
|
# "libtool: link: warning: `...//*.la' seems to be moved"
|
||||||
|
#
|
||||||
|
# Libtool is getting confused by the "//" in the library paths, so remove the
|
||||||
|
# trailing '/' from the *LIBDIR variables.
|
||||||
|
# Actually, this should be done in the *.m4 files where the variables are being
|
||||||
|
# set, but it's less elaborate at this point. ;-)
|
||||||
|
makefile_to_patch="vtlib/Makefile tools/vtunify/mpi/Makefile"
|
||||||
|
for makefile in $makefile_to_patch; do
|
||||||
|
sed -e "s/^\(.*LIBDIR =.*\)\/$/\1/g" $makefile >$makefile.tmp
|
||||||
|
mv $makefile.tmp $makefile
|
||||||
|
done
|
||||||
|
|
||||||
# Generate MPI wrappers
|
# Generate MPI wrappers
|
||||||
AS_IF([test x"$have_mpi" = "xyes"],
|
AS_IF([test x"$have_mpi" = "xyes"],
|
||||||
[
|
[
|
||||||
|
@ -66,7 +66,7 @@ BODY { font-family: sans-serif; }
|
|||||||
<P>
|
<P>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
<B><BIG CLASS="XHUGE">VampirTrace 5.11.1 User Manual</BIG></B>
|
<B><BIG CLASS="XHUGE">VampirTrace 5.11.2 User Manual</BIG></B>
|
||||||
<BR>
|
<BR>
|
||||||
<BR>
|
<BR>
|
||||||
<BR>
|
<BR>
|
||||||
|
Двоичные данные
ompi/contrib/vt/vt/doc/UserManual.pdf
Двоичные данные
ompi/contrib/vt/vt/doc/UserManual.pdf
Двоичный файл не отображается.
@ -162,7 +162,6 @@ LIBS = $(LIBS_FOR_BUILD)
|
|||||||
|
|
||||||
@CROSS_PREFIX@vtwrapper_SOURCES = \
|
@CROSS_PREFIX@vtwrapper_SOURCES = \
|
||||||
vt_wrapper.cc \
|
vt_wrapper.cc \
|
||||||
vt_wrapper.h \
|
|
||||||
$(top_srcdir)/util/installdirs.c \
|
$(top_srcdir)/util/installdirs.c \
|
||||||
$(top_srcdir)/util/util.c
|
$(top_srcdir)/util/util.c
|
||||||
|
|
||||||
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
@ -1,179 +0,0 @@
|
|||||||
/**
|
|
||||||
* VampirTrace
|
|
||||||
* http://www.tu-dresden.de/zih/vampirtrace
|
|
||||||
*
|
|
||||||
* Copyright (c) 2005-2011, ZIH, TU Dresden, Federal Republic of Germany
|
|
||||||
*
|
|
||||||
* Copyright (c) 1998-2005, Forschungszentrum Juelich, Juelich Supercomputing
|
|
||||||
* Centre, Federal Republic of Germany
|
|
||||||
*
|
|
||||||
* See the file COPYING in the package base directory for details
|
|
||||||
**/
|
|
||||||
|
|
||||||
#ifndef _VT_WRAPPER_H_
|
|
||||||
#define _VT_WRAPPER_H_
|
|
||||||
|
|
||||||
#include <iostream>
|
|
||||||
#include <fstream>
|
|
||||||
#include <sstream>
|
|
||||||
#include <map>
|
|
||||||
#include <string>
|
|
||||||
#include <vector>
|
|
||||||
#include <assert.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/wait.h>
|
|
||||||
|
|
||||||
#include "vt_inttypes.h"
|
|
||||||
|
|
||||||
#include "util/installdirs.h"
|
|
||||||
|
|
||||||
// languages types
|
|
||||||
//
|
|
||||||
typedef enum { LANG_CC, LANG_CXX, LANG_F77, LANG_F90 } LangTypeT;
|
|
||||||
|
|
||||||
// instrumentation types
|
|
||||||
//
|
|
||||||
typedef enum { INST_TYPE_COMPINST = 0x1, // auto. instr. by compiler
|
|
||||||
INST_TYPE_MANUAL = 0x2, // manual instr. by VT API
|
|
||||||
INST_TYPE_DYNINST = 0x4, // binary instrumentation by Dyninst
|
|
||||||
INST_TYPE_TAUINST = 0x8 // auto. source code instr. by TAU
|
|
||||||
} InstTypeT;
|
|
||||||
|
|
||||||
//
|
|
||||||
// Wrapper class
|
|
||||||
//
|
|
||||||
class Config;
|
|
||||||
class Wrapper
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
// contructor
|
|
||||||
Wrapper();
|
|
||||||
|
|
||||||
// destructor
|
|
||||||
~Wrapper();
|
|
||||||
|
|
||||||
bool readDataFile( void );
|
|
||||||
bool readEnvironmentVars( void );
|
|
||||||
bool parseCommandLine( int argc, char ** argv );
|
|
||||||
int run( void );
|
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
void showVersion( void );
|
|
||||||
void showUsageText( void );
|
|
||||||
|
|
||||||
int executeOrShowCommand( std::string & cmd );
|
|
||||||
std::vector<std::string> getIncFilesFromTabFile( void );
|
|
||||||
|
|
||||||
Config * m_pConfig;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
//
|
|
||||||
// Config class
|
|
||||||
//
|
|
||||||
class Config
|
|
||||||
{
|
|
||||||
friend class Wrapper;
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
// contructor
|
|
||||||
Config();
|
|
||||||
|
|
||||||
// destructor
|
|
||||||
~Config();
|
|
||||||
|
|
||||||
bool setLanguage( const LangTypeT lang );
|
|
||||||
|
|
||||||
void compiler_setCmd( const std::string cmd );
|
|
||||||
void compiler_addArg( const std::string arg );
|
|
||||||
void compiler_addLib( const std::string lib );
|
|
||||||
void compiler_addSrcFile( const std::string file );
|
|
||||||
|
|
||||||
void opari_setRcFile( const std::string file );
|
|
||||||
void opari_setTabFile( const std::string file );
|
|
||||||
void opari_addArg( const std::string arg );
|
|
||||||
|
|
||||||
void tauinst_addArg( const std::string arg );
|
|
||||||
void tauinst_addParseArg( const std::string arg );
|
|
||||||
|
|
||||||
void setUsesMpi( const bool set, const bool ovwrt = false );
|
|
||||||
void setUsesThreads( const bool set, const bool ovwrt = false );
|
|
||||||
void setUsesOpenMP( const bool set, const bool ovwrt = false );
|
|
||||||
|
|
||||||
void setInstAvail( const InstTypeT type ) {
|
|
||||||
m_iInstAvail |= type; }
|
|
||||||
bool setInstAvail( const std::string type );
|
|
||||||
bool isInstAvail( InstTypeT type ) {
|
|
||||||
return (m_iInstAvail & type); }
|
|
||||||
bool setInstType( const InstTypeT type );
|
|
||||||
bool setInstType( const std::string type );
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
std::string m_sVT_Version; // VT version
|
|
||||||
|
|
||||||
std::string m_sVT_IncDir; // VT's include directory
|
|
||||||
std::string m_sVT_LibDir; // VT's library directory
|
|
||||||
|
|
||||||
std::string m_sVT_SeqLib; // VT-library for sequential programs
|
|
||||||
std::string m_sVT_MpiLib; // VT-library for MPI programs
|
|
||||||
std::string m_sVT_MtLib; // VT-library for multithreading programs
|
|
||||||
std::string m_sVT_HybLib; // VT-library for hybrid (MPI/Threads)
|
|
||||||
// programs
|
|
||||||
std::string m_sVT_PompLib; // VT's POMP library
|
|
||||||
std::string m_sVT_DynAttLib; // VT's Dyninst attach library
|
|
||||||
|
|
||||||
std::string m_sComp_CmdEnv; // compiler command env. name
|
|
||||||
std::string m_sComp_FlagsEnv; // compiler flags env. name
|
|
||||||
std::string m_sComp_Cmd; // compiler command
|
|
||||||
std::string m_sComp_Args; // compiler arguments
|
|
||||||
std::string m_sComp_Flags; // compiler flags
|
|
||||||
std::string m_sComp_LdFlags; // linker flags
|
|
||||||
std::string m_sComp_FDFlag; // flag to define preprocessor macro
|
|
||||||
std::string m_sComp_InstFlags; // compiler instrumentation flags
|
|
||||||
std::string m_sComp_Libs; // libraries to link
|
|
||||||
std::vector<std::string>
|
|
||||||
m_vecComp_SrcFiles; // compiler input source files
|
|
||||||
std::vector<std::string>
|
|
||||||
m_vecComp_ObjFiles; // compiler output object files
|
|
||||||
|
|
||||||
std::string m_sOpari_Cmd; // OPARI command
|
|
||||||
std::string m_sOpari_Args; // OPARI arguments
|
|
||||||
std::string m_sOpari_RcFile; // OPARI's rc file
|
|
||||||
std::pair<std::string, std::string>
|
|
||||||
m_sOpari_TabFile; // OPARI's table source file
|
|
||||||
std::string m_sOpari_TabCompCmd; // compiler command for OPARI's table file
|
|
||||||
std::string m_sOpari_TabCompFlags; // compiler flags for OPARI's table file
|
|
||||||
|
|
||||||
std::string m_sCompInst_Flags; // compiler flags to enable instrumentation
|
|
||||||
std::string m_sDynInst_Flags; // compiler flags to produce debugging information
|
|
||||||
// (needed for binary instrumentation by Dyninst)
|
|
||||||
|
|
||||||
std::string m_sTauInst_Cmd; // TAU instrumentor command
|
|
||||||
std::string m_sTauInst_Args; // TAU instrumentor arguments
|
|
||||||
std::string m_sTauInst_ParseCmd; // PDT source code parser command
|
|
||||||
std::string m_sTauInst_ParseArgs; // PDT parser arguments
|
|
||||||
|
|
||||||
LangTypeT m_eLangType; // language type
|
|
||||||
InstTypeT m_eInstType; // instrumentation type
|
|
||||||
// (e.g. compinst,manual,...)
|
|
||||||
int m_iInstAvail; // bitmask for available instr.-types
|
|
||||||
bool m_bBeVerbose; // FLAG: be verbose ?
|
|
||||||
bool m_bCompOnly; // FLAG: compile only ?
|
|
||||||
bool m_bOutfileGiven; // FLAG: output file given ?
|
|
||||||
bool m_bUsesMpi; // FLAG: uses MPI ?
|
|
||||||
bool m_bUsesThreads; // FLAG: uses Threads ?
|
|
||||||
bool m_bUsesOpenMP; // FLAG: uses OpenMP ? (use OPARI)
|
|
||||||
bool m_bKeepOpariRcFile; // FLAG: don't delete OPARI's rc file ?
|
|
||||||
bool m_bShow; // FLAG: show compiler/linker flags ?
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // _VT_WRAPPER_H_
|
|
Загрузка…
x
Ссылка в новой задаче
Block a user