Gostaria de ajudar?
Mostrando postagens com marcador Fortran. Mostrar todas as postagens
Mostrando postagens com marcador Fortran. Mostrar todas as postagens

segunda-feira, 20 de julho de 2015

O ifort voltou a ter versão Grátis/Free


A intel voltou a disponibilizar uma versão gratuita do seu compilador Fortran ifort. Depois de um ano sem fornecer uma versão gratuita a intel decidiu por voltar a disponibilizar uma versão free para Pesquisador, Estudantes, Professores e Desenvolvedores de Código Aberto.

Algumas mudanças aconteceram como por exemplo:

  • Não haverá mais uma versão para sistemas 32 bits. 
  • Os Sistemas de derivação Linux suportados são:
           Debian* 6.0, 7.0
           Fedora* 20, 21
           Red Hat Enterprise Linux* 5.0, 6.0, 7.0
           SUSE Linux Enterprise Server* 11, 12
           Ubuntu* 12.04 LTS, 14.04 LTS
  • Minimo de 2Gb de memória RAM
  • 100Gb de espaço em HD livre, durante a instalação o software chega a ocupar 12Gb.
  • ...
Para baixar o ifort é só seguir este link. Em breve pretendo criar um tutorial mostrando como instalar e as possíveis novidades do software.

Boa Sorte e Bom Trabalho a Todos!!

quarta-feira, 24 de setembro de 2014

O ifort agora é Pago!

Quem aproveitou, aproveitou!

Recentemente descobrimos que o Compilador fortran e C++ da intel ifort e icc agora são pagos. Seguramente o compilador fortran mais rápido e eficiente já lançado. Diz a lenda que o desenvolvimento do ifort evoluiu junto ao desenvolvimento do Modelo Regional WRF. A lenda conta que ao desenvolver o ifort a intel necessitava de executar um processamento ao qual exigisse o máximo de performance e eles conseguiram ao executar o modelo WRF.

No entanto o desenvolvimento do ifort foi aos poucos migrando para programação orientada ao objeto e muitas funções de programação em C++ foram adicionadas. A utilização do sistema via terminal (modo texto) foi sendo abandonada aos poucos e desde 2011 a intel vinha desenvolvendo o intell Studio XE (modo gráfico) que combinava em um mesmo software o ifort e o icc. O inevitável acabou acontecendo o investimento no software foi aumentando cada vez mais o software foi ficando cada vez mais robusto, consequentemente o intel studio foi adquirindo cada vez mais adepto. A consequência disso tudo é que a partir de 2014 os compiladores ifort e icc se tornarão pagos.

O software pode ser encontrado em 3 níveis de desenvolvimento Cluster Edition, Professional Edition e Composer Edition. O valor varia de acordo com o tipo de comprador (Individual, empresa e etc, Estudante, profissional e etc). A licença individual mais barata e mais simples para fins acadêmico custa 249 dólares a mais cara e mais completa e para fins comerciais 1699 dólares. É possível baixar uma versão trial com duração de 30 dias.

É uma pena, mas já era esperado. Portanto, se você possui uma versão free do ifort e do icc na sua maquina zele por ela :)

Segue o link da página para compra do ifort.

Boa Sorte e Bom Trabalho a Todos!

Cristiano

terça-feira, 27 de novembro de 2012

Compilando a Lib FFTPACK

Sempre que migro de maquina ou processador preciso compilar a lib FFTPACK (Fortran para Transformada de Fourrier) e sempre esqueço como compilar, por isso segue uma maneira fácil (não sei se a ideial) de compilar esta lib:

Baixe todos os arquivos .f (FORTRAN) desta página:

http://www.netlib.org/fftpack/

Eu usei o compilador ifort para compilar:

>ifort -c *.f

Desta forma criei todos os arquivos objetos (.o) necessários, em seguida:

>ar cr libfftpack.a *.o (é isso mesmo ar rc estes programas já são comuns ao Linux)

Desta forma a lib já esta criada, para testar:

>ranlib libfftpack.a

Se não apresentar erro a lib foi compilada com sucesso.

Boa Sorte e Bom Trabalho a Todos!!

Cristiano

sexta-feira, 29 de junho de 2012

Programa Shell/Fortran que cria .ctl

Uma vez me deparei com o seguinte problema: Eu tinha um arquivo binário para cada dia/mes/ano/nivel de dados, ou seja, 365/366 arquivos por ano multiplicado pela quantidade de níveis. No meu caso 3068 arquivos, sendo que este arquivos não possuiam arquivos descritores do GrADS os chamados CTL. Para resolver tal problema eu criei um script Shel que cria e compila um arquivo fortran que escreve os arquivos.ctl.

Existe formas de você fazer um programa em linguagem Shell ou Fortran somente com a mesma funcionalidade, escrever os arquivos .ctl, mas decidi colocar os dois juntos pois servirá para outras funções. Segue o exemplo:

#!/bin/sh

for var in uwnd vwnd;do
      for level in 200 500 700 850;do
            for ano in $(seq 1989 2009);do
                  for mes in $(seq -f %02g 1 12);do
                        ultimo_dia=`echo $(cal $mes $ano) | awk '{print $NF}'`;
                        mess=`echo $(cal $mes $ano) | cut -c1-03`
                        for dia in $(seq -f %02g 1 $ultimo_dia);do

cat << EOF > gera_ctl.f90


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!! Este script gera os ctl para os arquivos .bin                                             
!!! Desenvolvedor: Cristiano Prestrelo email: prestrelo@model.iag.usp.br  
!!! Data: 27/06/2012                                                                                       
!!! Alterado: 27/06/2012                                                                                 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

PROGRAM geractl

OPEN (1, FILE='/home/prestrelo/data/merra/$var/$var.$level.$ano$mes$dia.ctl', &STATUS='UNKNOWN')

 WRITE(1,*)'DSET ^$var.$level.$ano$mes$dia.bin'
 WRITE(1,*)'TITLE Vento Zonal $var $level hPa Horario Sinotico Merra'
 WRITE(1,*)'UNDEF -999.'
 WRITE(1,*)'XDEF 540 linear -180 0.5'
 WRITE(1,*)'YDEF 361 linear -90 0.5'
 WRITE(1,*)'ZDEF 1 LINEAR 1 10000'
 WRITE(1,*)'TDEF 4 linear 00Z$dia$mess$ano 360mn'
 WRITE(1,*)'VARS 1'
 WRITE(1,*)'p  1  t,z,y,x  Eastward wind component'
 WRITE(1,*)'ENDVARS'

 CLOSE(1)
END PROGRAM geractl

EOF

ifort -o gera_ctl gera_ctl.f90
./gera_ctl

done
done
done
done
done
exit
#!!!!!!!!!!!!!! fim do programa!!!!!!!!!!!!!!!!!!!!!!!!

Desta forma você terá uma lista de arquivos ctl:

uwnd.200.19890101.ctl
uwnd.200.19890102.ctl
                 .
                 .
                 .
uwnd.850.20091231.ctl
vwnd.200.19890101.ctl
vwnd.200.19890102.ctl
                 .
                 .

                 .

 vwnd.850.20091231.ctl

Lembrando que você precisa mudas as dimensões (lat X lon X tempo X delta) de seus arquivos de dados. 

Boa Sorte e Bom Trabalho a Todos!!

quarta-feira, 16 de maio de 2012

Instalando o Compilador Fortran (ifort) da Intel

A instalação do ifort esta cada vez mais intuitiva, a primeira coisa a se fazer é baixar o software em sua página:


Observe que será preciso preencher um cadastro e ao efetuar o download a licença será enviada para seu email.

Obs: Não apague esta licença você precisará dela sempre que for instalar o software em outra maquina ou simplesmente reinstalar em sua maquina devido algum problema.

Ao descompactar o arquivo baixado entre na pasta criada e execute o seguinte comando:

>./install.sh

 Obs: Aconselho executar o comando acima como super usuario (root, sudo, su)

Ao executar o comando acima abrirá um menu no qual você irá escolher as opções desejadas (nada complicado).

Observe que durante a instalação será dado a opção em que local você deseja instalar o software, se você escolher a opção default irá instalar na pasta /opt

O número da licença será  solicitado durante a instalação é só digitar o número e pronto.

Após a instalação concluida, é preciso inserir a variáveis de ambiente:

Dentro do arquivo .bashrc (no final), que encontra-se dentro do diretório /home/usuário, acrescente:
  • export LD_LIBRARY_PATH="/opt/intel/versao/lib"
  • export DYLD_LIBRARY_PATH="/opt/intel/versao/lib"
  • export MANPATH="/opt/intel/man"
  • export PATH=/opt/intel/versao/bin:$PATH
No terminal digite
> source .bashrc, para atualizar seu bash

Para testar se o ifort foi instalado corretamente digite:

>ifort -v

Se a resposta for a versão do compilador que você acabou de instalar, siguinifica que esta tudo ok.

Boa Sorte e Bom Trabalho a Todos!!