пятница, 25 мая 2018 г.

Moving average ipp


Mathcad Moving average Autor: Chris Wilkinson Publicado: Qui, 16 Jan 2003 15:21:01 -0500 Preciso implementar uma média móvel para um vetor de coluna com uma largura de janela selecionável. Alguém conseguiu uma folha para isso, suponho que haveria uma função no kit de processamento de sinal, mas eu não tenho isso. Chris Wilkinson Cientista de Pesquisa Sênior Centro de Produtos e Sistemas de Eletrônica CALCE 3200 Martin Hall Universidade de Maryland College Park MD 20742 EUA Tel. 1 301 405 4563, Fax 1 301 314 9269 --- A Lista de Mathcad - Discussão, Suporte amp Notícias Contribuições: Hospedado por: Adept Scientific adeptscience List Archive: lists. adeptscience. co. uk --- Você gostaria que isso chegasse a um endereço de e-mail diferente --- Basta sair da lista de discussão (veja abaixo) e reencontre-se enviando um email em branco do Novo endereço para: ou --- Se você não quer estar na lista Mathcad, simplesmente envie um email em branco (sem assunto ou mensagem necessária) para: mathcad RE: Mover média Chris Whitford Para: Mathcad Discussion List kgt cc: Assunto : Mathcad RE: Mover média 011703 09:32 AM Por favor, responda a mathcad Quando eu olhei para a função de Nick Potter, ocorreu-me que os loops poderiam ser escritos de forma mais clara com as variáveis ​​de alcance. Quando tentei isso, descobri que as variáveis ​​de intervalo podem ser definidas em um programa. Isso é verdade. Parece uma estranha restrição. Certamente é verdade. Os programas can039t referem-se a variáveis ​​de alcance global, diretamente ou quando são passadas na lista de argumentos, e elas podem ser definidas dentro do programa. A lógica parece ser que os programas têm construções em loop, como outras linguagens algorítmicas, de modo que você não precisa de variáveis ​​de alcance que sejam uma construção especial do Mathcad para conseguir o loop, depois de uma forma, em planilhas de nível superior. Agora que os programas estão disponíveis na versão geral (eles costumavam ser apenas nas versões Pro), vejo que a função até está sendo eliminada gradualmente. Esta foi uma maneira de kludge looping simples ao usar variáveis ​​de alcance. Bill Marshall, engenheiro principal de engenharia principal Raytheon Integrated Defense Systems 1847 West Main Road, N17 Portsmouth RI 02871-1087 EUA Voz: 401.842.4286 FAX: 401.842.5226 e-mail: --- A lista de Mathcad - Discussão, suporte amp Notícias Contribuições : Hospedado por: Adept Scientific adeptscience List Archive: lists. adeptscience. co. uk --- Você gostaria que isso chegasse a um endereço de e-mail diferente --- Basta sair da lista de discussão (veja abaixo) e reencontre-se enviando um Email em branco do novo endereço para: ou --- Se você não deseja estar na lista Mathcad, simplesmente envie um email em branco (sem assunto ou mensagem necessária) para: Windows vs. Linux gtgt de desempenho. Acabei de terminar de executar alguns intervalos de loop no redimensionador Lanczos que mencionei anteriormente e, para Windows, o loop é executado em gtgt3 minutos 36 segundos e, no Linux, é 4 minutos e 2 segundos. Isso parece uma grande diferença para mim. Eu não esperaria números absolutamente idênticos e algumas diferenças nos tempos poderiam ser contribuídas por: - compiladores CC diferentes - opções de otimização diferentes selecionadas para compiladores de CC - diferenças significativas nos sistemas operacionais (como Iliya mencionado) - carga de trabalho diferente de sistemas operacionais (serviços, suporte de rede, etc. ) Portanto, existem muitas coisas que afetam o desempenho em ambas as plataformas. O que os compiladores você usou Eu tenho muitos casos de teste e os testes compilados com compiladores MS ou Intel CC para o Windows quase sempre superam os testes compilados com o compilador MinGW CC para o Windows. Muitos testes compilados com um compilador Legacy Borland CC (tecnologia de 15 anos) superam todos os compiladores CC modernos () mencionados acima. No seu caso, um teste no Linux é 10 mais lento do que um teste no Windows e, em geral, corresponde aos meus números. Gtgt. Eu não esperaria que o compilador afetasse a velocidade muito, uma vez que a maioria do trabalho está sendo executado dentro das chamadas do IPP que gtgts deve resolver a mão codificada (correta). Sim, está correto. Aqui estão alguns outros comentários: - Tente aumentar a prioridade do seu aplicativo em Alto ou Real-Time em ambas as plataformas, a fim de prevenir todo o possível processos e threads que funcionam ao mesmo tempo. Eu sempre faço isso ao medir o desempenho de algumas partes de códigos. - Tente configurar (forçar) uma máscara de afinidade de thread de processo para uma CPU Nota: Para esses dois casos, eu poderia fornecer dois pequenos exemplos para o Windows, mas para o Linux você precisará entender como fazer o mesmo - Tente usar o mesmo otimização de O2 Opção com Visual Studio 2010 Aqui estão as minhas anotações: gtgt. O planejador Linux tem uma latência muito menor que a contrapartida do Windows. Um mecanismo de agendamento para família de sistemas operacionais baseados no Windows NT foi projetado por um dos melhores especialistas em processamento múltiplo da VAX em 1990. Esse design foi inicialmente introduzido nas primeiras versões do Windows NT (1.x, 2.x, 3.x ou mais). GtgtKernel Comparação: Linux (2.6.28) versus Windows (Vista SP1) gtgt. Gtgt. GtgtTimeslice - Multiprocessor gtgtScheduler - Multiprocessador (timeslice) Linux Windows gtgttimeslice - alcance 10ms-200ms 15ms-180ms (Cliente) gtgt180ms (Servidor) gtgt. Gtgt. Gtgttimeslice - padrão 100ms 30ms, 60ms, 90ms (Cliente) gtgt180ms (Servidor) gtgt. Gtgt. GtgtPerformance gtgtScheduler (performance) Linux Windows gtgtscheduling latency (média) 0.009mS 2mS10 gtgtscheduling latency (pior) 0.3mS 16mS10 gtgt. - O relatório favorece o Linux por padrão, mas eu não defendo o Windows - O relatório compara a versão mais recente do kernel para Linux com algumas versões mais antigas do Windows: Versão Comparada: Linux Q1 2009 vs Windows Q1 2008 Versão Inicial: Q4 2008 vs Windows Q1 2007 Última versão: Q3 2011 vs Windows Q1 2011. - Latências não poderiam ser deterministas. Um dos usuários do IDZ testou minha caixa de teste em seu computador com uma CPU Intel mais recente e relatou que uma mudança do segmento A para o segmento B foi concluída em 38 nanosegundos. Pessoalmente, eu não me preocuparia com as diferenças de desempenho em sistemas operacionais diferentes se os números de alguns testes diferirem menos de gtgt. Uma coisa que eu notei (pelo menos sob o Windows), é que, se você tem muitas outras coisas acontecendo entre a chamada do IPP, gtgtyou pode obter uma desaceleração do IPP. É por isso que recomenda aumentar a prioridade de um processo de teste durante os testes. Mas, fique atento quando uma função IPP usa threads OpenMP porque elas são executadas em prioridades normais. Se você aumentar a prioridade do seu segmento principal em Alto ou Real-Time, os threads IPP OpenMP serão antecipados e seu teste funcionará mais devagar. Então, você precisa desativar threads OpenMP para funções IPP. Aqui está um exemplo de aumentar a prioridade de um segmento para uma plataforma Windows:. . SetThreadPriority (. GetCurrentThread (), THREAD PRIORITYTIMECRITICAL) uiTicksStart SysGetTickCount (). Algum processamento. UiTicksEnd SysGetTickCount () SetThreadPriority (. GetCurrentThread (), THREADPRIORITYNORMAL).

Комментариев нет:

Отправить комментарий