Compilando o Linpack no Windows Compute Cluster Server 2003

Este guia pode ser encontrado no site http://windowshpc.net em inglês. Ele foi criado por Kyril Faenov e eu apenas o adaptei e descrevi o procedimento realizado por mim para compilar o HPL.

Existem dois modos de compilar o Linpack:

1 - Utilizando os Makefiles com o Microsoft Plataform SDK e Services for UNIX
2 - Utilizando o Visual Studio 2005

Neste guia descreverei o processo de compilação apenas utilizando o Visual Studio.

1 - Instale os programas necessários

Instale o Visual Studio 2005. Ele pode ser obtido em http://msdn.microsoft.com/vstudio/products/trial/.

O Linpack necessita de bibliotecas otimizadas para melhor desempenho. Veja o site http://www.netlib.org/blas/faq.html para saber onde encontrar as bibliotecas específicas otimizadas para a arquitetura do seu processador (BLAS). Baixe e instale a ACML para processadores AMD e a MKL para Intel. No nosso caso foi utilizada a biblioteca MKL da Intel. Será necessário registrar-se no site para obter uma licença para o produto.

mkl4.jpg

Baixe o HPL 1.0a no site http://www.netlib.org/benchmark/hpl/
Descompacte o arquivo hpl.tgz em C:\scratch\hpl. Caso haja problemas para descompactar o arquivo, é possível utilizar o 7-zip, um programa open-source que pode ser encontrado em http://www.7-zip.org/.

Baixe o Makefile necessário para a compilação (Make.MsWin64) e salve-o em C:\scratch\hpl.

Baixe o Compute Cluster Pack SDK em http://www.microsoft.com/downloads/details.aspx?FamilyID=D8462378-2F68-409D-9CB3-02312BC23BFD&displaylang=en e o instale.

ccpsdk3.jpg

2 - Modifique os arquivos necessários

Será necessário modificar o arquivo testing\timer\HPL_timer_walltime.c. Basta substituir seu contúdo pelo do arquivo testing\ptimer\HPL_ptimer_walltime.c, mas mantendo o mesmo nome (HPL_timer_walltime.c).

Será necessário alterar o Makefile fornecido (Make.MsWin64) para fazer referência às bibliotecas específicas utilizadas. No nosso caso foi utilizada a biblioteca MKL da Intel. Consequentemente, alteramos o Makefile como mostrado nas linhas abaixo:

# ----------------------------------------------------------------------
# - Linear Algebra library (BLAS or VSIPL) -----------------------------
# ----------------------------------------------------------------------
# LAinc tells the  C  compiler where to find the Linear Algebra  library
# header files,  LAlib  is defined  to be the name of  the library to be
# used. The variable LAdir is only used for defining LAinc and LAlib.

# Use ATLAS BLAS library
#HPL_CBLAS     = -DHPL_CALL_CBLAS
#LAdir        = c:\ATLAS\lib
#LAinc        =
#LAlib        = $(LAdir)\libcblas.a $(LAdir)\libatlas.a

# Use AMD ACML BLAS library
# LAdir        = "c:\acml3.5.0\win64_mp"
# LAinc        = $(LAdir)\include
# LAlib        = $(LAdir)\lib\libacml_dll.lib

# Use Intel MKL BLAS library
LAdir        = "C:\Program Files\Intel\MKL\10.0.1.015"
LAinc        = $(LAdir)\include
LAlib        = $(LAdir)\em64t\lib\mkl_dll.lib $(LAdir)\em64t\lib\libguide40.lib


Considerando que a MKL tenha sido instalada em C:\Program Files\Intel\MKL\10.0.1.015
obs. As linhas precedidas por sustenido (#) são comentários.

Agora basta acessar o prompt do Visual Studio 2005 como mostrado na figura abaixo:

vs.jpg

Ir até o diretório C:\scratch\hpl e digitar o comando nmake -f Make.MsWin64. Isto pode ser feito com os comandos abaixo:

dos.jpg

O resultado será semelhante ao mostrado na figura abaixo.

compilling1.jpg

Após realizar estes passos será gerado o arquivo xhpl.exe.

Last edited Feb 14, 2008 at 5:44 PM by dfconrad, version 3

Comments

No comments yet.