2014-06-18 3 views
1

Я использовал homebrew для установки GNU-параллелей на моем mac, чтобы я мог удаленно запускать некоторые тесты на серверах моего университета. Я быстро проходит через tutorials, но когда я побежалMac OS X: GNU parallel не может найти количество ядер на удаленном сервере

parallel -S <username>@$SERVER1 echo running on ::: <username>@$SERVER1 

Я получил сообщение

parallel: Warning: Could not figure out number of cpus on <[email protected]>(). Using 1. 

Возможно, связанный, я никогда не добавлял параллельно моему пути и получил предупреждение, что «параллельно» WASN» t признанная команда, но параллель все равно выполняется и все еще правильно звучит. Этот конкретный сервер имеет 16 ядер, как я могу получить параллельное распознавание?

ответ

1

GNU Parallel менее тестируется на OS X, так как у меня нет доступа к установке OS X, поэтому вы, вероятно, обнаружили ошибку.

GNU Параллельно с тех пор 20120322 использовал их, чтобы найти число процессоров:

sysctl -n hw.physicalcpu 
sysctl -a hw 2>/dev/null | grep [^a-z]physicalcpu[^a-z] | awk '{ print \$2 }' 

И количество ядер:

sysctl -n hw.logicalcpu 
sysctl -a hw 2>/dev/null | grep [^a-z]logicalcpu[^a-z] | awk '{ print \$2 }' 

Вы можете проверить, что вывод, который вы получаете от них?

Какую версию GNU Parallel вы используете?

Как работа вокруг вас может заставить GNU Parallel обнаружить 16 ядер:

parallel -S 16/<username>@$SERVER1 echo running on ::: <username>@$SERVER1 

Начиная с версии 20140422 вы смогли экспортировать свой путь к удаленному серверу:

parallel --env PATH -S 16/<username>@$SERVER1 echo running on ::: <username>@$SERVER1 

Таким образом, вам просто нужно добавить каталог, где parallel живет на сервере по вашему пути на локальном компьютере. Например. parallel на удаленном сервере в /home/u/user/bin/parallel:

PATH=$PATH:/home/u/user/bin parallel --env PATH -S <username>@$SERVER1 echo running on ::: <username>@$SERVER1 

Информация для Ole

мой компьютер (OSX Маверикс на Intel Core i7) дает следующее, что все выглядит правильно:

sysctl -n hw.physicalcpu 
4 


sysctl -a hw 
hw.ncpu: 8 
hw.byteorder: 1234 
hw.memsize: 17179869184 
hw.activecpu: 8 
hw.physicalcpu: 4 
hw.physicalcpu_max: 4 
hw.logicalcpu: 8 
hw.logicalcpu_max: 8 
hw.cputype: 7 
hw.cpusubtype: 4 
hw.cpu64bit_capable: 1 
hw.cpufamily: 1418770316 
hw.cacheconfig: 8 2 2 8 0 0 0 0 0 0 
hw.cachesize: 17179869184 32768 262144 8388608 0 0 0 0 0 0 
hw.pagesize: 4096 
hw.busfrequency: 100000000 
hw.busfrequency_min: 100000000 
hw.busfrequency_max: 100000000 
hw.cpufrequency: 3400000000 
hw.cpufrequency_min: 3400000000 
hw.cpufrequency_max: 3400000000 
hw.cachelinesize: 64 
hw.l1icachesize: 32768 
hw.l1dcachesize: 32768 
hw.l2cachesize: 262144 
hw.l3cachesize: 8388608 
hw.tbfrequency: 1000000000 
hw.packages: 1 
hw.optional.floatingpoint: 1 
hw.optional.mmx: 1 
hw.optional.sse: 1 
hw.optional.sse2: 1 
hw.optional.sse3: 1 
hw.optional.supplementalsse3: 1 
hw.optional.sse4_1: 1 
hw.optional.sse4_2: 1 
hw.optional.x86_64: 1 
hw.optional.aes: 1 
hw.optional.avx1_0: 1 
hw.optional.rdrand: 0 
hw.optional.f16c: 0 
hw.optional.enfstrg: 0 
hw.optional.fma: 0 
hw.optional.avx2_0: 0 
hw.optional.bmi1: 0 
hw.optional.bmi2: 0 
hw.optional.rtm: 0 
hw.optional.hle: 0 
hw.cputhreadtype: 1 
hw.machine = x86_64 
hw.model = iMac12,2 
hw.ncpu = 8 
hw.byteorder = 1234 
hw.physmem = 2147483648 
hw.usermem = 521064448 
hw.pagesize = 4096 
hw.epoch = 0 
hw.vectorunit = 1 
hw.busfrequency = 100000000 
hw.cpufrequency = 3400000000 
hw.cachelinesize = 64 
hw.l1icachesize = 32768 
hw.l1dcachesize = 32768 
hw.l2settings = 1 
hw.l2cachesize = 262144 
hw.l3settings = 1 
hw.l3cachesize = 8388608 
hw.tbfrequency = 1000000000 
hw.memsize = 17179869184 
hw.availcpu = 8 

sysctl -n hw.logicalcpu 
8 
+0

@ mark-setchell Действительно ли GNU Parallel 20140522 определяет правильное количество ядер/процессоров на вашем компьютере? Если это так, я не уверен, что вы хотите, чтобы я сделал с дополнительной информацией. –

+0

Да, да. Я просто пытался помочь вам с некоторой информацией, что ваш метод выглядит правильно на моем Mac. –

+0

@MarkSetchell Я все еще озадачен: как вы видите информацию из рабочей системы, поможет выяснить, что не так в нерабочих системах? –