InglêsFrancêsEspanhol

Ad


favicon do OnWorks

likwid-pin - Online na nuvem

Execute likwid-pin no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando likwid-pin que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


likwid-pin - fixa um aplicativo sequencial ou encadeado a processadores dedicados

SINOPSE


Likwid-pin [-vhqipS] [-c ] [-s ] [-d ]

DESCRIÇÃO


Likwid-pin é um aplicativo de linha de comando para fixar aplicativos sequenciais ou multithread
para processadores dedicados. Pode ser usado como substituto para conjunto de tarefas(1). Oposto a
conjunto de tarefas sem máscara de afinidade, mas processadores únicos são especificados. Para multithreaded
aplicativos baseados na biblioteca pthread o pthread_create chamada de biblioteca está sobrecarregada
por meio de LD_PRELOAD e cada thread criada é fixada em um processador dedicado conforme especificado
in lista_núcleo

Por padrão, cada thread gerado é fixado ao núcleo na ordem das chamadas para
pthread_create. É possível pular threads individuais usando a opção de linha de comando -s.

Para implementações OpenMP, os compiladores gcc e icc são explicitamente suportados. Outros também podem
<span class="word" data-word="work." style="--word-index: 2; translate: none; rotate: none; scale: none; transform: translate(0px, 0px); opacity: 1;">work.</span> Likwid-pin define a variável de ambiente OMP_NUM_THREADS para você, se ainda não
presente. Ele definirá tantos threads quanto presentes na expressão do pino. Esteja ciente que
com pthreads, o thread pai é sempre fixado. Se você criar, por exemplo, 4 tópicos com
pthread_create e não use o processo pai como trabalhador que você ainda tem que fornecer
num_threads + 1 ids de processador.

Likwid-pin suporta diferentes numerações para fixação. Por numeração física padrão de
os núcleos são usados. Esta é a numeração também topologia de Likwid(1) relatórios. Mas também
numeração lógica dentro do nó ou nos soquetes pode ser usada. Se usar com um N (por exemplo, -c
N: 0-6) os núcleos são numerados de forma lógica em todo o nó. Os núcleos físicos vêm primeiro. Se
um sistema, por exemplo, tem 8 núcleos com 16 threads SMT com -c N: 0-7 você obtém todos os núcleos físicos.
Se você especificar -c N: 0-15, obterá todos os núcleos físicos e todos os encadeamentos SMT. Com S você pode
especificar numerações lógicas dentro dos soquetes, novamente os núcleos físicos vêm em primeiro lugar. Você pode misturar
domínios diferentes separados por @. Por exemplo, -c S0: 0-3 @ S2: 2-3 você fixa a rosca 0-3 ao lógico
núcleos 0-3 no soquete 0 e threads 4-5 nos núcleos lógicos 2-3 no soquete 2.

Para aplicações onde a política de primeiro toque em sistemas numa não pode ser empregada Likwid-pin
pode ser usado para ativar a colocação de memória intercalada. Isso pode acelerar significativamente o
desempenho de códigos multithread ligados à memória. Todos os nós de numa aos quais o usuário fixou os threads
são usados ​​para intercalação.

OPÇÕES


-v imprime informações de versão na saída padrão e sai.

-h imprime uma mensagem de ajuda na saída padrão e sai.

-c OR OR <dispersão política>
especifique uma lista numérica de processadores. A lista pode conter vários itens,
separados por vírgula e intervalos. Por exemplo 0,3,9-11. Você também pode usar
numerações, seja dentro de um nó (N), um soquete (S ) ou um domínio numa (M )
likwid-pin também suporta fixação lógica dentro de um cpuset com um prefixo L. Se você
omita esta opção likwid-pin fixará os threads nos processadores no nó
com núcleos físicos primeiro. Veja abaixo os detalhes sobre como usar uma expressão de thread ou
política de dispersão

-s
Especifique a máscara de pular como número HEX. Para cada bit definido, o segmento correspondente é
pulado.

-S Todos os domínios de memória ccNUMA pertencentes à lista de discussão especificada serão limpos
antes da corrida. Pode resolver problemas de cache de buffer de arquivo no Linux.

-p imprime os domínios de thread disponíveis para fixação lógica. Se usado em combinação
com -c, os IDs do processador físico são impressos no stdout.

-i definir a política de memória de numa para intercalar abrangendo todos os nós de numa envolvidos na fixação

-q execução silenciosa sem saída

-d
definir delimitador usado para gerar a lista de processadores físicos (-p e -c)

EXEMPLO


1. Para aplicação pthread padrão:

Likwid-pin -c 0,2,4-6 ./meuAplicativo

O processo pai é fixado ao processador 0. Thread 0 para o processador 2, thread 1 para
processador 4, thread 2 para o processador 5 e thread 3 para o processador 6. Se houver mais threads
criado do que o especificado na lista de processadores, esses threads são fixados no processador 0 como
cair pra trás.

2. Para gcc OpenMP, tantos ids devem ser especificados na lista de processadores quanto houver threads:

OMP_NUM_THREADS = 4; Likwid-pin -c 0,2,1,3 ./meuAplicativo

3. O controle total sobre a fixação pode ser obtido especificando uma máscara de pular. Por exemplo
o seguinte comando ignora a fixação do encadeamento 1:

OMP_NUM_THREADS = 4; Likwid-pin -s 0x1 -c 0,2,1,3 ./meuAplicativo

4. O switch -c suporta a definição de threads em um domínio de afinidade específico como
Nó NUMA ou grupo de cache. Os domínios de afinidade disponíveis podem ser recuperados com o -p
switch e nenhuma outra opção na linha de comando. Os domínios de afinidade comuns são N
(Nó completo), SX (soquete X), CX (grupo de cache X) e MX (grupo de memória X). Múltiplo
os domínios de afinidade podem ser definidos separados por @. A fim de prender 2 fios em cada soquete
de um sistema de 2 soquetes:

OMP_NUM_THREADS = 4; Likwid-pin -c S0:0-1@S1:0-1 ./meuAplicativo

5. Outra definição de argumento da opção -c permite que os threads sejam fixados de acordo
a uma expressão como E: N: 4: 1: 2. A sintaxe é E: :
tópicos> (: : ) O exemplo fixa 8 fios com 2 fios SMT por
núcleo em uma máquina SMT 4:

OMP_NUM_THREADS = 4; Likwid-pin -c E: N: 8: 2: 4 ./meuAplicativo

6. A última alternativa para a opção -c é a dispersão automática de threads em
domínios de afinidade. Por exemplo, para espalhar os threads em todos os domínios de memória em um
sistema:

OMP_NUM_THREADS = 4; Likwid-pin -c M: espalhar ./meuAplicativo

Use likwid-pin online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    libusb
    libusb
    Biblioteca para habilitar o espaço do usuário
    programas de aplicativos para se comunicar com
    Dispositivos USB. Público: Desenvolvedores, Fim
    Usuários/Desktop. Linguagem de programação: C.
    Categorias ...
    Baixar libusb
  • 2
    GOLE
    GOLE
    SWIG é uma ferramenta de desenvolvimento de software
    que conecta programas escritos em C e
    C ++ com uma variedade de alto nível
    linguagens de programação. SWIG é usado com
    diferente...
    Baixar SWIG
  • 3
    Tema WooCommerce Nextjs React
    Tema WooCommerce Nextjs React
    Tema React WooCommerce, construído com
    Próxima JS, Webpack, Babel, Node e
    Express, usando GraphQL e Apollo
    Cliente. Loja WooCommerce em React(
    contém: Produtos...
    Baixe o tema WooCommerce Nextjs React
  • 4
    archlabs_repo
    archlabs_repo
    Repositório de pacotes para ArchLabs Este é um
    aplicativo que também pode ser obtido
    da
    https://sourceforge.net/projects/archlabs-repo/.
    Ele foi hospedado no OnWorks em...
    Baixar archlabs_repo
  • 5
    Projeto Zephyr
    Projeto Zephyr
    O Projeto Zephyr é uma nova geração
    sistema operacional em tempo real (RTOS) que
    suporta vários hardwares
    arquiteturas. É baseado em um
    kernel de pequena pegada ...
    Baixar Projeto Zephyr
  • 6
    SCons
    SCons
    SCons é uma ferramenta de construção de software
    essa é uma alternativa superior ao
    clássica ferramenta de construção "Make" que
    todos nós conhecemos e amamos. SCons é
    implementou um ...
    Baixar SCons
  • Mais "

Comandos Linux

Ad