Commit 72caad19 authored by Kenneth Moreland's avatar Kenneth Moreland
Browse files

Merge branch 'IceT2'

parents 68d3818d edbfff73
# Id
#
## Copyright 2003 Sandia Coporation
## Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
## license for use of this work by or on behalf of the U.S. Government.
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that this Notice and any statement
## of authorship are reproduced on all copies.
## Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
## the U.S. Government retains certain rights in this software.
##
## This source code is released under the New BSD License.
#
PROJECT(ICET C)
CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
IF(COMMAND cmake_policy)
CMAKE_POLICY(SET CMP0003 NEW)
ENDIF(COMMAND cmake_policy)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
# Set the current ICE-T version.
SET(ICET_MAJOR_VERSION 1)
# Set the current IceT version.
SET(ICET_MAJOR_VERSION 2)
SET(ICET_MINOR_VERSION 0)
SET(ICET_PATCH_VERSION 0)
SET(ICET_VERSION "${ICET_MAJOR_VERSION}.${ICET_MINOR_VERSION}.${ICET_PATCH_VERSION}")
......@@ -31,9 +25,13 @@ SET(ICET_EXECUTABLE_DIR ${EXECUTABLE_OUTPUT_PATH})
SET(C_TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
# Turn shared libraries on or off.
OPTION(BUILD_SHARED_LIBS "Build ICE-T with shared libraries." OFF)
OPTION(BUILD_SHARED_LIBS "Build IceT with shared libraries." OFF)
SET(ICET_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
# Options controlling support libraries
OPTION(ICET_USE_OPENGL "Build OpenGL support layer for IceT." ON)
OPTION(ICET_USE_MPI "Build MPI communication layer for IceT." ON)
# Configure testing support.
INCLUDE(Dart)
IF (BUILD_TESTING)
......@@ -49,51 +47,68 @@ IF (UNIX)
ENDIF (UNIX)
# Configure OpenGL support.
FIND_PACKAGE(OpenGL)
IF (OPENGL_FOUND)
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
LINK_LIBRARIES(${OPENGL_LIBRARIES})
ELSE (OPENGL_FOUND)
FIND_PACKAGE(OSMesa)
IF (OSMESA_INCLUDE_DIR AND OSMESA_LIBRARY)
INCLUDE_DIRECTORIES(${OSMESA_INCLUDE_DIR})
LINK_LIBRARIES(${OSMESA_LIBRARY})
ELSE(OSMESA_INCLUDE_DIR AND OSMESA_LIBRARY)
MESSAGE(SEND_ERROR "Could not find OpenGL or OSMesa, which is required to compile ICE-T.")
ENDIF (OSMESA_INCLUDE_DIR AND OSMESA_LIBRARY)
ENDIF (OPENGL_FOUND)
IF (ICET_USE_OPENGL)
FIND_PACKAGE(OpenGL)
IF (OPENGL_FOUND)
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
SET(ICET_OPENGL_LIBRARIES ${OPENGL_LIBRARIES})
ELSE (OPENGL_FOUND)
FIND_PACKAGE(OSMesa)
IF (OSMESA_INCLUDE_DIR AND OSMESA_LIBRARY)
INCLUDE_DIRECTORIES(${OSMESA_INCLUDE_DIR})
SET(ICET_OPENGL_LIBRARIES ${OSMESA_LIBRARY})
ELSE(OSMESA_INCLUDE_DIR AND OSMESA_LIBRARY)
MESSAGE(SEND_ERROR "Could not find OpenGL or OSMesa, which is required when ICET_USE_OPENGL is ON.")
ENDIF (OSMESA_INCLUDE_DIR AND OSMESA_LIBRARY)
ENDIF (OPENGL_FOUND)
ENDIF (ICET_USE_OPENGL)
# Configure MPI support.
FIND_PACKAGE(MPI)
MARK_AS_ADVANCED(CLEAR MPI_INCLUDE_PATH)
MARK_AS_ADVANCED(CLEAR MPI_LIBRARY)
MARK_AS_ADVANCED(CLEAR MPI_EXTRA_LIBRARY)
IF (MPI_INCLUDE_PATH)
IF (ICET_USE_MPI)
FIND_PACKAGE(MPI REQUIRED)
MARK_AS_ADVANCED(CLEAR MPI_INCLUDE_PATH)
MARK_AS_ADVANCED(CLEAR MPI_LIBRARY)
MARK_AS_ADVANCED(CLEAR MPI_EXTRA_LIBRARY)
INCLUDE_DIRECTORIES(${MPI_INCLUDE_PATH})
ELSE (MPI_INCLUDE_PATH)
MESSAGE(SEND_ERROR "Could not find MPI includes, which is required to compile ICE-T.")
ENDIF (MPI_INCLUDE_PATH)
IF (MPI_LIBRARY)
LINK_LIBRARIES(${MPI_LIBRARY})
ELSE (MPI_LIBRARY)
MESSAGE(SEND_ERROR "Could not find MPI library, which is required to compile ICE-T.")
ENDIF (MPI_LIBRARY)
IF (MPI_EXTRA_LIBRARY)
LINK_LIBRARIES(${MPI_EXTRA_LIBRARY})
ENDIF (MPI_EXTRA_LIBRARY)
# Configure MPI testing support.
IF (BUILD_TESTING)
OPTION(ICET_BUILD_TESTING "Build and run the ICE-T tests." ON)
FIND_PROGRAM(ICET_MPIRUN_EXE NAMES mpirun lamexec)
SET(ICET_MPI_PREFLAGS "-np;2" CACHE STRING "Flags used by MPI start program.")
SET(ICET_MPI_POSTFLAGS "" CACHE STRING "Flags used by MPI start program.")
SET(ICET_MPI_LIBRARIES ${MPI_LIBRARY} ${MPI_EXTRA_LIBRARY})
# Set up variables used to run MPI programs. In CMake 2.8 or later, they are
# defined by the FindMPI module.
IF (MPIEXEC)
SET(ICET_MPIRUN_EXE ${MPIEXEC})
SET(ICET_MPI_NUMPROC_FLAG ${MPIEXEC_NUMPROC_FLAG})
SET(ICET_MPI_PREFLAGS ${MPIEXEC_PREFLAGS})
SET(ICET_MPI_POSTFLAGS ${MPIEXEC_POSTFLAGS})
ELSE (MPIEXEC)
FIND_PROGRAM(ICET_MPIRUN_EXE NAMES mpiexec mpirun lamexec)
SET(ICET_MPI_NUMPROC_FLAG "-np" CACHE STRING "Flag used by MPI start program. Used to specify the number of processes.")
SET(ICET_MPI_PREFLAGS "" CACHE STRING "Flags used by MPI start program. These are placed directly before the executable.")
SET(ICET_MPI_POSTFLAGS "" CACHE STRING "Flags used by MPI start program. These are placed after all other flags.")
MARK_AS_ADVANCED(
ICET_MPIRUN_EXE
ICET_MPI_NUMPROC_FLAG
ICET_MPI_PREFLAGS
ICET_MPI_POSTFLAGS
)
ENDIF (MPIEXEC)
SET(ICET_MPI_MAX_NUMPROCS "2" CACHE STRING "Maximum number of processors available to run parallel applications.")
MARK_AS_ADVANCED(ICET_BUILD_TESTING ICET_MPIRUN_EXE ICET_MPI_PREFLAGS ICET_MPI_POSTFLAGS ICET_MPI_MAX_NUMPROCS)
MARK_AS_ADVANCED(ICET_MPI_MAX_NUMPROCS)
SEPARATE_ARGUMENTS(ICET_MPI_PREFLAGS)
SEPARATE_ARGUMENTS(ICET_MPI_POSTFLAGS)
ENDIF (ICET_USE_MPI)
# Add extra warnings when possible. The IceT build should be clean. I expect
# no warnings when bulding this code.
IF (CMAKE_COMPILER_IS_GNUCC)
SET(ICET_C_FLAGS_WARN "-ansi -Wall -Wno-long-long -Wcast-align -Wextra -Wformat-security -Wshadow -Wunused -Wreturn-type")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ICET_C_FLAGS_WARN}")
ENDIF (CMAKE_COMPILER_IS_GNUCC)
# Configure testing support.
IF (BUILD_TESTING)
OPTION(ICET_BUILD_TESTING "Build and run the IceT tests." ON)
MARK_AS_ADVANCED(ICET_BUILD_TESTING)
ENDIF (BUILD_TESTING)
# Configure data type sizes.
......@@ -140,21 +155,26 @@ ELSE(BUILD_SHARED_LIBS)
ENDIF(BUILD_SHARED_LIBS)
# Configure files with settings for use by the build.
CONFIGURE_FILE(${ICET_SOURCE_DIR}/src/include/GL/ice-t_config.h.in
${ICET_BINARY_DIR}/src/include/GL/ice-t_config.h)
CONFIGURE_FILE(${ICET_SOURCE_DIR}/src/include/IceTConfig.h.in
${ICET_BINARY_DIR}/src/include/IceTConfig.h)
# Point to ICE-T include files.
# Point to IceT include files.
INCLUDE_DIRECTORIES(${ICET_SOURCE_DIR}/src/include)
INCLUDE_DIRECTORIES(${ICET_BINARY_DIR}/src/include)
ADD_SUBDIRECTORY(src)
IF (BUILD_TESTING AND ICET_BUILD_TESTING)
IF (NOT APPLE)
ADD_SUBDIRECTORY(tests)
ELSE (NOT APPLE)
MESSAGE(STATUS "Tests not supported on Mac. Disabling.")
ENDIF (NOT APPLE)
IF (ICET_USE_OPENGL AND ICET_USE_MPI)
FIND_PACKAGE(GLUT)
IF (GLUT_FOUND)
ADD_SUBDIRECTORY(tests)
ELSE (GLUT_FOUND)
MESSAGE(STATUS "Tests require Glut, which is not found. Disabling tests.")
ENDIF (GLUT_FOUND)
ELSE (ICET_USE_OPENGL AND ICET_USE_MPI)
MESSAGE(STATUS "Tests require ICET_USE_OPENGL and ICET_USE_MPI. Disabling tests.")
ENDIF (ICET_USE_OPENGL AND ICET_USE_MPI)
ENDIF (BUILD_TESTING AND ICET_BUILD_TESTING)
ADD_SUBDIRECTORY(doc)
......@@ -170,35 +190,43 @@ INSTALL(FILES ${ICET_BINARY_DIR}/ICETBuildSettings.cmake DESTINATION ${ICET_INST
EXPORT_LIBRARY_DEPENDENCIES(${ICET_BINARY_DIR}/ICETLibraryDepends.cmake)
INSTALL(FILES ${ICET_BINARY_DIR}/ICETLibraryDepends.cmake DESTINATION ${ICET_INSTALL_LIB_DIR})
# Save ICE-T specific configuration options.
# Save IceT specific configuration options.
#First, configuration for build directory.
SET(ICET_INCLUDE_DIRS_CONFIG "${ICET_SOURCE_DIR}/src/include;${ICET_BINARY_DIR}/src/include")
SET(ICET_LIBRARY_DIRS_CONFIG ${ICET_LIBRARY_DIR})
SET(ICET_USE_FILE_CONFIG ${ICET_SOURCE_DIR}/UseICET.cmake)
SET(ICET_BUILD_SETTINGS_FILE_CONFIG ${ICET_BINARY_DIR}/ICETBuildSettings.cmake)
SET(ICET_LIBRARY_DEPENDS_FILE ${ICET_BINARY_DIR}/ICETLibraryDepends.cmake)
GET_TARGET_PROPERTY(ICET_LIBRARY_FILE icet LOCATION)
GET_TARGET_PROPERTY(ICET_STRATEGIES_LIBRARY_FILE icet_strategies LOCATION)
GET_TARGET_PROPERTY(ICET_MPI_LIBRARY_FILE icet_mpi LOCATION)
CONFIGURE_FILE(${ICET_SOURCE_DIR}/ICETConfig.cmake.in
${ICET_BINARY_DIR}/ICETConfig.cmake @ONLY IMMEDIATE)
GET_TARGET_PROPERTY(ICET_LIBRARY_FILE IceTCore LOCATION)
GET_TARGET_PROPERTY(ICET_GL_LIBRARY_FILE IceTGL LOCATION)
GET_TARGET_PROPERTY(ICET_MPI_LIBRARY_FILE IceTMPI LOCATION)
CONFIGURE_FILE(${ICET_SOURCE_DIR}/IceTConfig.cmake.in
${ICET_BINARY_DIR}/IceTConfig.cmake @ONLY IMMEDIATE)
#Second, configuration for install directory.
SET(ICET_INCLUDE_DIRS_CONFIG ${CMAKE_INSTALL_PREFIX}${ICET_INSTALL_INCLUDE_DIR})
SET(ICET_LIBRARY_DIRS_CONFIG ${CMAKE_INSTALL_PREFIX}${ICET_INSTALL_LIB_DIR})
SET(ICET_USE_FILE_CONFIG ${CMAKE_INSTALL_PREFIX}${ICET_INSTALL_LIB_DIR}/UseICET.cmake)
SET(ICET_BUILD_SETTINGS_FILE_CONFIG
${CMAKE_INSTALL_PREFIX}${ICET_INSTALL_LIB_DIR}/ICETBuildSettings.cmake)
SET(ICET_LIBRARY_DEPENDS_FILE
${CMAKE_INSTALL_PREFIX}${ICET_INSTALL_LIB_DIR}/ICETLibraryDepends.cmake)
GET_FILENAME_COMPONENT(ICET_LIBRARY_FILE "${ICET_LIBRARY_FILE}" NAME)
SET(ICET_LIBRARY_FILE "${CMAKE_INSTALL_PREFIX}${ICET_INSTALL_LIB_DIR}/${ICET_LIBRARY_FILE}")
GET_FILENAME_COMPONENT(ICET_STRATEGIES_LIBRARY_FILE "${ICET_STRATEGIES_LIBRARY_FILE}" NAME)
SET(ICET_STRATEGIES_LIBRARY_FILE "${CMAKE_INSTALL_PREFIX}${ICET_INSTALL_LIB_DIR}/${ICET_STRATEGIES_LIBRARY_FILE}")
GET_FILENAME_COMPONENT(ICET_GL_LIBRARY_FILE "${ICET_GL_LIBRARY_FILE}" NAME)
SET(ICET_GL_LIBRARY_FILE "${CMAKE_INSTALL_PREFIX}${ICET_INSTALL_LIB_DIR}/${ICET_GL_LIBRARY_FILE}")
GET_FILENAME_COMPONENT(ICET_MPI_LIBRARY_FILE "${ICET_MPI_LIBRARY_FILE}" NAME)
SET(ICET_MPI_LIBRARY_FILE "${CMAKE_INSTALL_PREFIX}${ICET_INSTALL_LIB_DIR}/${ICET_MPI_LIBRARY_FILE}")
CONFIGURE_FILE(${ICET_SOURCE_DIR}/ICETConfig.cmake.in
${ICET_LIBRARY_DIR}/ICETConfig.cmake @ONLY IMMEDIATE)
INSTALL(FILES ${ICET_SOURCE_DIR}/UseICET.cmake ${ICET_LIBRARY_DIR}/ICETConfig.cmake DESTINATION ${ICET_INSTALL_LIB_DIR})
CONFIGURE_FILE(${ICET_SOURCE_DIR}/IceTConfig.cmake.in
${ICET_LIBRARY_DIR}/IceTConfig.cmake @ONLY IMMEDIATE)
INSTALL(FILES ${ICET_LIBRARY_DIR}/IceTConfig.cmake DESTINATION ${ICET_INSTALL_LIB_DIR})
# Enable CPack packaging.
SET(CPACK_PACKAGE_DESCRIPTION_FILE ${ICET_SOURCE_DIR}/README)
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "The Image Composition Engine for Tiles")
SET(CPACK_PACKAGE_NAME "IceT")
SET(CPACK_PACKAGE_VENDOR "Sandia National Laboratories")
SET(CPACK_PACKAGE_VERSION_MAJOR ${ICET_MAJOR_VERSION})
SET(CPACK_PACKAGE_VERSION_MINOR ${ICET_MINOR_VERSION})
SET(CPACK_PACKAGE_VERSION_PATCH ${ICET_PATCH_VERSION})
INCLUDE(CPack)
# Allow local additions to this file without CVS conflicts.
INCLUDE(${ICET_BINARY_DIR}/LocalUserOptions.cmake OPTIONAL)
......
#
## Copyright 2003 Sandia Coporation
## Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
## license for use of this work by or on behalf of the U.S. Government.
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that this Notice and any statement
## of authorship are reproduced on all copies.
#
# Id
#
# Find an IceT installation or build tree.
#
# The following variables are set if IceT is found. If IceT is not found,
# ICET_FOUND is set to false.
#
# ICET_FOUND - Set to true when IceT is found.
# ICET_USE_FILE - CMake source file to setup a project to use IceT
# ICET_CORE_LIBS - List of core IceT libraries that all IceT apps need.
# ICET_MPI_LIBS - List of libraries for using IceT with MPI (not
# including MPI itself).
# ICET_MAJOR_VERSION - The IceT major version number.
# ICET_MINOR_VERSION - The IceT minor version number.
# ICET_PATCH_VERSION - The IceT patch version number.
#
# The following variables are also set, but their use is handled for you
# when including ICET_USE_FILE.
#
# ICET_INCLUDE_DIRS - Include directories for IceT headers.
# ICET_LIBRARY_DIRS - Link directories for IceT libraries.
#
# The following cache entries must be set by the user to locate IceT:
#
# ICET_DIR - The directory containing ICETConfig.cmake.
#
SET(ICET_DIR_DESCRIPTION "directory containing ICETConfig.cmake. This is either the root of the build tree, or PREFIX/lib for an installation.")
SET(ICET_DIR_MESSAGE "IceT not found. Set ICET_DIR to the ${ICET_DIR_DESCRIPTION}")
IF (NOT ICET_DIR)
# Get the system search path as a list.
IF(UNIX)
STRING(REGEX MATCHALL "[^:]+" ICET_DIR_SEARCH1 "$ENV{PATH}")
ELSE(UNIX)
STRING(REGEX REPLACE "\\\\" "/" ICET_DIR_SEARCH1 "$ENV{PATH}")
ENDIF(UNIX)
STRING(REGEX REPLACE "/;" ";" ICET_DIR_SEARCH2 "${ICET_DIR_SEARCH1}")
# Construct a set of paths relative to the system search path.
SET(ICET_DIR_SEARCH "")
FOREACH(dir ${ICET_DIR_SEARCH2})
SET(ICET_DIR_SEARCH ${ICET_DIR_SEARCH} "${dir}/../lib")
ENDFOREACH(dir)
FIND_PATH(ICET_DIR ICETConfig.cmake
# Look in places relative to the system executable search path.
${ICET_DIR_SEARCH}
# Look in standard UNIX install locations.
/usr/local/lib
/usr/lib
# Look in standard Win32 install locations.
"C:/Program Files/IceT/lib"
# Give documentation to user in case we can't find it.
DOC "The ${ICET_DIR_DESCRIPTION}")
ENDIF (NOT ICET_DIR)
# If IceT was found, load the configuration file to get the rest of the
# settings.
IF(ICET_DIR)
# Make sure the ICETConfig.cmake file exists in the directory provided.
IF(EXISTS ${ICET_DIR}/ICETConfig.cmake)
# We found IceT. Load the settings.
SET(ICET_FOUND 1)
INCLUDE(${ICET_DIR}/ICETConfig.cmake)
ELSE(EXISTS ${ICET_DIR}/ICETConfig.cmake)
# We did not find IceT.
SET(ICET_FOUND 0)
ENDIF(EXISTS ${ICET_DIR}/ICETConfig.cmake)
ELSE(ICET_DIR)
# We did not find IceT.
SET(ICET_FOUND 0)
ENDIF(ICET_DIR)
#-----------------------------------------------------------------------------
IF(NOT ICET_FOUND)
# IceT not found, explain to the user how to specify its location.
IF(NOT ICET_FIND_QUIETLY)
MESSAGE(${ICET_DIR_MESSAGE})
ENDIF(NOT ICET_FIND_QUIETLY)
ENDIF(NOT ICET_FOUND)
** -*- text -*- *************************************************************
**
** Revision history of ICE-T.
** Revision history of IceT.
**
** Copyright 2003 Sandia Coporation
** Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
** license for use of this work by or on behalf of the U.S. Government.
** Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that this Notice and any statement
** of authorship are reproduced on all copies.
** Copyright 2003 Sandia Corporation
** Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
** the U.S. Government retains certain rights in this software.
**
** This source code is released under the New BSD License.
**
*****************************************************************************
Revision 2.0: A major restructuring of the IceT code comprising the
following changes:
* Remove the dependence of OpenGL from the core library. Segregate
all OpenGL references and linkages to its own library.
* Formalize an IceTImage object that stores pixel data. This
object is capable of storing pixel data with various formats
rather than being fixed at 32-bit integers.
* Provide the concept of a "single-image strategy." The
single-image strategy performs a traditional composition of a
single image, and is used as a subroutine in some of the
multi-tile strategies. Since IceT is commonly used for
compositing single tiles anyway, the development and selection of
single-image strategies is significant.
* Several identifiers and functions were changed in the IceT
interface. Many were to implement the previous features, and
others were simply to clarify the interface.
* Use the Glut library for OpenGL window creation in the tests.
* Changed exposed files to conform to the current version of the
IceT acronym. (It used to be ICE-T.)
Revision 1.0: Basically the same as 0.5.4, which has been stable for years
now, with the addition of offical documentation.
now, with the addition of official documentation.
Revision 0.5: Introduced the concept of ordered composition, especially
with respect to color blending. Once the image layer order is
......@@ -22,7 +47,7 @@ Revision 0.5: Introduced the concept of ordered composition, especially
enabled.
Added ability to handle replicated data. If geometry is replicated
over several processors, ICE-T will break the amount of screen the
over several processors, IceT will break the amount of screen the
data is replicated over and divide it amongst the processors that
all contain the same data.
......@@ -47,7 +72,7 @@ Revision 0.5: Introduced the concept of ordered composition, especially
Fixed a problem when rendering objects behind the viewer with a
perspective projection matrix.
Revision 0.4: Abstracted the image formats a bit. ICE-T can now perform
Revision 0.4: Abstracted the image formats a bit. IceT can now perform
a composite on just the depth buffer. This is useful when creating
shadow buffers. This should also make it easier to implement
image-only compositing for parallel volume rendering.
......@@ -58,11 +83,11 @@ Revision 0.4: Abstracted the image formats a bit. ICE-T can now perform
can potentially make his own).
Removed icetInit, which only called icetCreateContext to make a
"default" context. The only real consiquence of this change is
that ICE-T can now be placed in a state where it has no current
"default" context. The only real consequence of this change is
that IceT can now be placed in a state where it has no current
context. This could lead to seg-faults if the user does not set
another context as current and then tries to use ICE-T, but this is
an erroneous use of ICE-T anyway.
another context as current and then tries to use IceT, but this is
an erroneous use of IceT anyway.
Changed build system to use CMake instead of autoconf.
......@@ -72,7 +97,7 @@ Revision 0.4: Abstracted the image formats a bit. ICE-T can now perform
is that a default strategy is no longer set.
patch 1: More updates to the build system to actually allow other
CMake-built programs use ICE-T.
CMake-built programs use IceT.
patch 2: Fixed a bug with the background color.
......@@ -97,7 +122,7 @@ Revision 0.2: A whole host of fixes. Added a regression testing suite.
with split strategy under Myrinet. Probably either race condition
or Myrinet/MPI bug.
Revision 0.1: Semi-stable after movement from MTIC to ICE-T and building
Revision 0.1: Semi-stable after movement from MTIC to IceT and building
autoconf scripts for use on Win32 rather than MSVC project files.
Found some issues with split and reduce strategies after moving to
Myrinet.
......@@ -2,17 +2,14 @@
#
# ICETConfig.cmake - IceT CMake configuration file for external projects.
#
# This file is configured by IceT and used by the UseICET.cmake module
# to load IceT's settings for an external project.
# This file is configured by IceT and used by other CMake projects to load
# IceT's settings.
#
## Copyright 2003 Sandia Coporation
## Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
## license for use of this work by or on behalf of the U.S. Government.
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that this Notice and any statement
## of authorship are reproduced on all copies.
# Copyright 2003 Sandia Coporation
# Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
# the U.S. Government retains certain rights in this software.
#
# Id
# This source code is released under the New BSD License.
#
# The IceT include file directories.
......@@ -30,14 +27,12 @@ SET(ICET_MAJOR_VERSION "@ICET_MAJOR_VERSION@")
SET(ICET_MINOR_VERSION "@ICET_MINOR_VERSION@")
SET(ICET_PATCH_VERSION "@ICET_PATCH_VERSION@")
# The location of the UseICET.cmake file.
SET(ICET_USE_FILE "@ICET_USE_FILE_CONFIG@")
# The build settings file.
SET(ICET_BUILD_SETTINGS_FILE "@ICET_BUILD_SETTINGS_FILE_CONFIG@")
# The IceT libraries
SET(ICET_CORE_LIBS "@ICET_LIBRARY_FILE@" "@ICET_STRATEGIES_LIBRARY_FILE@")
SET(ICET_CORE_LIBS "@ICET_LIBRARY_FILE@")
SET(ICET_GL_LIBS "@ICET_GL_LIBRARY_FILE@")
SET(ICET_MPI_LIBS "@ICET_MPI_LIBRARY_FILE@")
# MPI configuration used to build IceT.
......
** -*- text -*- *************************************************************
**
** README and installation instructions for ICE-T
** README and installation instructions for IceT
**
** Author: Kenneth Moreland (kmorel@sandia.gov)
**
** Copyright 2003 Sandia Coporation
** Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
** license for use of this work by or on behalf of the U.S. Government.
** Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that this Notice and any statement
** of authorship are reproduced on all copies.
** Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
** the U.S. Government retains certain rights in this software.
**
** This source code is released under the New BSD License.
**
*****************************************************************************
Welcome to the ICE-T build process. ICE-T uses CMake to automatically
Welcome to the IceT build process. IceT uses CMake to automatically
tailor itself to your system, so compiling should be relatively painless.
Before building ICE-T you will need to install CMake on your system. You
Before building IceT you will need to install CMake on your system. You
can get CMake from www.cmake.org.
Once CMake is installed and the ICE-T source is extracted, run the
Once CMake is installed and the IceT source is extracted, run the
interactive CMake configuration tool. On UNIX, run ccmake. On Win32, run
the CMake program on the desktop or in the start menu. Note that when
using the interactive configuration tool, you will need to ``configure''
several times before you can generate the build files. This is because as
more information is retrieved, futher options are revealed. Optionally,
you may ``cmake -i'' for a Q/A form of the tool.
more information is retrieved, futher options are revealed.
After CMake generates build files, compile the applications as applicable
for your system.
IceT is released under the New BSD License. Any contributions to IceT will
also be considered to fall under this license, and it is the responsibility
of the authors to secure the necessary permissions before contributing.
#-----------------------------------------------------------------------------
#
# UseICET.cmake - File to INCLUDE in a CMakeLists.txt file to use ICE-T.
#
# After including this file, you need only to add icet, icet_strategies, and,
# perhaps, icet_mpi libraries with the LINK_LIBRARIES command.
#
## Copyright 2003 Sandia Coporation
## Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
## license for use of this work by or on behalf of the U.S. Government.
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that this Notice and any statement
## of authorship are reproduced on all copies.
#
# Id
#
#Load compiler settings used for ICE-T.
#On second thought, why enforce the duplication of compiler flags?
#INCLUDE(${CMAKE_ROOT}/Modules/CMakeImportBuildSettings.cmake)
#CMAKE_IMPORT_BUILD_SETTINGS(${ICET_BUILD_SETTINGS_FILE})
# Add compiler flags needed to use ICE-T.
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ICET_REQUIRED_C_FLAGS}")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ICET_REQUIRED_CXX_FLAGS}")
# Add include directories needed to use ICE-T.
INCLUDE_DIRECTORIES(${ICET_INCLUDE_DIRS})
# Add link directories needed to use ICE-T.
LINK_DIRECTORIES(${ICET_LIBRARY_DIRS})
'\" t
.\" Manual page created with latex2man on Fri Sep 19 09:25:30 MDT 2008
.\" Manual page created with latex2man on Thu Sep 23 08:15:12 MDT 2010
.\" NOTE: This file is generated, DO NOT EDIT.
.de Vb
.ft CW
......@@ -10,7 +10,7 @@
.fi
..
.TH "icetAddTile" "3" "December 1, 2006" "\fBIceT \fPReference" "\fBIceT \fPReference"
.TH "icetAddTile" "3" "August 10, 2010" "\fBIceT \fPReference" "\fBIceT \fPReference"
.SH NAME
\fBicetAddTile \-\- add a tile to the logical display.\fP
......@@ -18,14 +18,14 @@
.SH Synopsis
.PP
#include <GL/ice\-t.h>
#include <IceT.h>
.PP
.TS H
l l l .
int \fBicetAddTile\fP( GLint \fIx\fP,
GLint \fIy\fP,
GLsizei \fIwidth\fP,
GLsizei \fIheight\fP,
int \fBicetAddTile\fP( IceTInt \fIx\fP,
IceTInt \fIy\fP,
IceTSizeType \fIwidth\fP,
IceTSizeType \fIheight\fP,
int \fIdisplay_rank\fP );
.TE
.PP
......@@ -45,14 +45,15 @@ The parameters \fIx\fP,
\fIwidth\fP,
and \fIheight\fP
define
the tiles viewport in the logical global display much in the same way
the tile\&'s viewport in the logical global display much in the same way
\fBglViewport\fP
declares a region in a physical display.
\fBIceT \fPplaces no limits on the extents of the logical global display.
That is, there are no limits on the values of \fIx\fP
and \fIy\fP\&.
They can extend as far as they want in both the positive and negative
directions.
declares a region in a physical display in
\fbOpenGL \fP\&.\fBIceT \fPplaces no limits on the extents of the logical global
display. That is, there are no limits on the values of \fIx\fP
and
\fIy\fP\&.
They can extend as far as they want in both the positive and
negative directions.
.PP
\fBIceT \fPwill project its images onto the region of the logical global
display that just covers all of the tiles. Therefore, shifting all the
......@@ -76,7 +77,8 @@ displaying more than one tile.
.SH Return Value
.PP
Returns the index of the tile created.
Returns the index of the tile created or \-1 if the tile could not be
created.
.PP
.SH Errors
......@@ -96,11 +98,6 @@ None.
.PP
.SH Bugs
.PP
\fBicetAddTile\fP
will let you add tiles of different sizes, but the
use of different sized tiles is not yet supported. The user should try
to make sure that all tiles are of the same size.
.PP
All processes must specify the same tiles in the same order. \fBIceT \fP
will assume this even though it is not explicitly detected or enforced.
......@@ -109,15 +106,15 @@ will assume this even though it is not explicitly detected or enforced.
Copyright (C)2003 Sandia Corporation
.PP
Under the terms of Contract DE\-AC04\-94AL85000, there is a non\-exclusive
license for use of this work by or on behalf of the U.S. Government.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that this Notice and any statement
of authorship are reproduced on all copies.
Under the terms of Contract DE\-AC04\-94AL85000 with Sandia Corporation, the
U.S. Government retains certain rights in this software.
.PP