[Bioclusters] Re: icc on NCBI Blast

Pacchiani, Nicola bioclusters@bioinformatics.org
Mon, 22 Sep 2003 10:19:35 +0200


This is a multi-part message in MIME format.
--------------090809020302030409040900
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Dear Joe,

I've been able to compile NCBI toolbox 6.1 using icc 7.1 on RedHat 7.3 
running kernel 2.4.20-20.7bigmem #1 SMP.
I've modified the standard linux_icc.ncbi.mk file, tuned for icc 6.0, to 
work with icc 7.1: mainly paths and optimization flags.

My binaries are optimizied for Pentium/Xeon 4 architecture (-axW -xW) 
and seem to be faster by 20% of the binaries compiled with the standard 
linux.ncbi.mk file (using default options on gcc).

To use this file I've moved the original linux.ncbi.mk file to 
linux_gcc.ncbi.mk and then made a symbolic link to linux_icc.ncbi.mk 
named linux.ncbi.mk in the directory ncbi/platform.

Below my linux_icc.ncbi.mk file (also in attachment):

:#
# $Id: linux_icc.ncbi.mk,v 1.2 2002/10/29 01:20:13 lavr Exp $
#
# ICC 7.1 with optimization options for Pentium 4 processor (Nicola 
Pacchiani, 17 Aug 2003)

NCBI_DEFAULT_LCL = lnx
NCBI_MAKE_SHELL = /bin/sh
#warning, the flags -D__USE_FILE_OFFSET64 -D__USE_LARGEFILE64 will allow
#you to work with large (>4Gb) files only if you have glibc version >= 2.1
#NCBI_CC = gcc -pipe -D__USE_FILE_OFFSET64 -D__USE_LARGEFILE64
#it appears the flags above do not working anymore with newer libc,
#the new flags should work. Dima. 08/23/01
NCBI_CC = icc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
NCBI_CFLAGS1 = -c

# Nicola Pacchiani, 17 Aug 2003
#NCBI_LDFLAGS1 = -Xlinker -rpath -Xlinker /opt/intel/compiler60/ia32/lib -O2
NCBI_LDFLAGS1 = -Xlinker -rpath -Xlinker /opt/intel/compiler70/ia32/lib 
-O3 -ip -axW -xW

# Nicola Pacchiani, 17 Aug 2003
#NCBI_OPTFLAG = -O3 -unroll -tpp7
NCBI_OPTFLAG = -O3 -unroll -tpp7 -xW -axW -ip

#untested, try on your own risk on Linux/Intel
#NCBI_OPTFLAG = -O3 -march=pentiumpro -funroll-loops
NCBI_BIN_MASTER = /home/coremake/ncbi/bin
NCBI_BIN_COPY = /home/coremake/ncbi/bin
NCBI_INCDIR = /home/coremake/ncbi/include
NCBI_LIBDIR = /home/coremake/ncbi/lib
NCBI_ALTLIB = /home/coremake/ncbi/altlib
#will work only when you have Motif installed!
NCBI_VIBFLAG = -I/usr/X11R6/include -L/usr/X11R6/lib -DWIN_MOTIF
NCBI_VIBLIBS = -lXm -lXmu -lXt -lX11 -lXext
#warning! If you have only dynamic version of Motif or Lesstif
#you should delete -Wl,-Bstatic sentence from the next line:
NCBI_DISTVIBLIBS = -L/usr/X11R6/lib -Wl,-Bstatic -lXm -Wl,-Bdynamic 
-lXmu -lXt -lX11 -lXext -lXp
NCBI_OTHERLIBS = -lm
NCBI_RANLIB = ranlib
# Used by makedis.csh
NCBI_MT_OTHERLIBS = -lpthread
NCBI_OTHERLIBS_MT = $(NCBI_MT_OTHERLIBS) -lm
NCBI_THREAD_OBJ = ncbithr.o
NETENTREZVERSION = 2.02c2ASN1SPEC6

# uncomment OPENGL_TARGETS to build OpenGL apps; do not change
# OPENGL_NCBI_LIBS! However, may need to set
# OPENGL_INCLUDE and OPENGL_LIBS to suit local environment
# OPENGL_TARGETS = Cn3D
OPENGL_NCBI_LIBS = LIB400=libvibrantOGL.a LIB3000=libncbicn3dOGL.a
OPENGL_INCLUDE = -I/usr/X11R6/include
OPENGL_LIBS = -L/usr/X11R6/lib -lGL -lGLU
NCBI_OGLLIBS = -L/usr/X11R6/lib -lGL -lGLU

# uncomment (and change appropriately) these lines to build PNG
# output support into Cn3D (OpenGL version only)
#LIBPNG_DIR = /home/paul/Programs/libpng
#ZLIB_DIR = /home/paul/Programs/zlib

NCBI_LBSM_SRC = ncbi_lbsmd_stub.c
NCBI_LBSM_OBJ = ncbi_lbsmd_stub.o


Please feel free to contact me for any further info.
Bye.

-- 
Nicola Pacchiani
Cellular Microbiology & BioInformatics
I.R.I.S. - Chiron Vaccines SRL

Via Fiorentina,1
53100 Siena (SI) - Italy
Build. #35 room 135

Phone:	0039 0577 243514
Fax: 	0039 0577 243564
Email: 	nicola_pacchiani@chiron.it


--------------090809020302030409040900
Content-Type: text/plain; x-mac-type="54455854"; x-mac-creator="74747874";
 name="linux_icc_ncbi.mk"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="linux_icc_ncbi.mk"

:#
# $Id: linux_icc.ncbi.mk,v 1.2 2002/10/29 01:20:13 lavr Exp $
#
# ICC 7.1 with optimization options for Pentium 4 processor (Nicola Pacchiani, 17 Aug 2003)

NCBI_DEFAULT_LCL = lnx
NCBI_MAKE_SHELL = /bin/sh
#warning, the flags -D__USE_FILE_OFFSET64 -D__USE_LARGEFILE64 will allow
#you to work with large (>4Gb) files only if you have glibc version >= 2.1
#NCBI_CC = gcc -pipe -D__USE_FILE_OFFSET64 -D__USE_LARGEFILE64
#it appears the flags above do not working anymore with newer libc,
#the new flags should work. Dima. 08/23/01
NCBI_CC = icc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
NCBI_CFLAGS1 = -c

# Nicola Pacchiani, 17 Aug 2003
#NCBI_LDFLAGS1 = -Xlinker -rpath -Xlinker /opt/intel/compiler60/ia32/lib -O2
NCBI_LDFLAGS1 = -Xlinker -rpath -Xlinker /opt/intel/compiler70/ia32/lib -O3 -ip -axW -xW

# Nicola Pacchiani, 17 Aug 2003
#NCBI_OPTFLAG = -O3 -unroll -tpp7
NCBI_OPTFLAG = -O3 -unroll -tpp7 -xW -axW -ip

#untested, try on your own risk on Linux/Intel
#NCBI_OPTFLAG = -O3 -march=pentiumpro -funroll-loops
NCBI_BIN_MASTER = /home/coremake/ncbi/bin
NCBI_BIN_COPY = /home/coremake/ncbi/bin
NCBI_INCDIR = /home/coremake/ncbi/include
NCBI_LIBDIR = /home/coremake/ncbi/lib
NCBI_ALTLIB = /home/coremake/ncbi/altlib
#will work only when you have Motif installed!
NCBI_VIBFLAG = -I/usr/X11R6/include -L/usr/X11R6/lib -DWIN_MOTIF
NCBI_VIBLIBS = -lXm -lXmu -lXt -lX11 -lXext
#warning! If you have only dynamic version of Motif or Lesstif
#you should delete -Wl,-Bstatic sentence from the next line:
NCBI_DISTVIBLIBS = -L/usr/X11R6/lib -Wl,-Bstatic -lXm -Wl,-Bdynamic -lXmu -lXt -lX11 -lXext -lXp
NCBI_OTHERLIBS = -lm
NCBI_RANLIB = ranlib
# Used by makedis.csh
NCBI_MT_OTHERLIBS = -lpthread
NCBI_OTHERLIBS_MT = $(NCBI_MT_OTHERLIBS) -lm
NCBI_THREAD_OBJ = ncbithr.o
NETENTREZVERSION = 2.02c2ASN1SPEC6 

# uncomment OPENGL_TARGETS to build OpenGL apps; do not change
# OPENGL_NCBI_LIBS! However, may need to set
# OPENGL_INCLUDE and OPENGL_LIBS to suit local environment
# OPENGL_TARGETS = Cn3D
OPENGL_NCBI_LIBS = LIB400=libvibrantOGL.a LIB3000=libncbicn3dOGL.a
OPENGL_INCLUDE = -I/usr/X11R6/include
OPENGL_LIBS = -L/usr/X11R6/lib -lGL -lGLU
NCBI_OGLLIBS = -L/usr/X11R6/lib -lGL -lGLU

# uncomment (and change appropriately) these lines to build PNG
# output support into Cn3D (OpenGL version only)
#LIBPNG_DIR = /home/paul/Programs/libpng
#ZLIB_DIR = /home/paul/Programs/zlib

NCBI_LBSM_SRC = ncbi_lbsmd_stub.c
NCBI_LBSM_OBJ = ncbi_lbsmd_stub.o

--------------090809020302030409040900--