Вопросы по теме 'chapel'

Подсчет количества истинных элементов в логическом массиве
В Chapel я могу подсчитать количество элементов массива, равное заданному значению, как var a = [1,2,5,5,5]; writeln( a.count( 5 ) ); // this gives 3 но аналогичный метод, похоже, не работает для подсчета количества истинных элементов:...
219 просмотров
schedule 15.09.2022

Размещение массивов в Часовне
В отличие от других языков, в Chapel нет синтаксиса allocate или new для выделения массивов в куче, а используется обычный синтаксис, подобный «декларации». Например, в следующем коде я «объявляю» два массива A и B в функции, основанной на...
192 просмотров
schedule 16.08.2022

Как домен сопоставляет индексы сопоставления с целевым массивом локалей в многомерном случае
Я не нашел, как карта домена сопоставляет индексы в многомерных доменах с многомерными целевыми локалями. 1.) Как целевые локали (одно измерение) устроены многомерным образом, который равен измерению распределения для сопоставления индексов? 2.)...
107 просмотров
schedule 05.10.2022

как реплицировать переменные в нескольких локалях в Chapel
Мне интересно, есть ли простой способ сделать копию глобальной переменной для каждой локали, чтобы позже каждая локаль напрямую обращалась к своей локальной копии, а не к исходной переменной, хранящейся в locale0? Благодарность
159 просмотров
schedule 07.05.2023

Эффективное построение косинусной матрицы подобия из корпуса в Chapel
У меня есть корпус V векторов TF / IDF, поэтому они довольно редкие. Это массив размером примерно 2500 на 150 000. Я хочу вычислить косинусное сходство между каждым документом в корпусе. Это почти самый наивный способ, который я могу придумать....
238 просмотров
schedule 06.03.2022

Как извлечь верхнюю треугольную матрицу с диагональю или без нее в Chapel
Лучшие истории начинаются с моей матрицы A . var A: [{1..4,1..4}] real = ( (4, -30, 60, -35), (-30, 300, -675, 420), (60, -675, 1620, -1050), (-35, 420, -1050, 700) ); Я помню, где-то вы можете получить верхний треугольник, но я не...
27 просмотров
schedule 28.12.2022

Найдите длину массива в Chapel
Я работаю с несколькими языками, поэтому я всегда ищу, как это сделать. var x = [1,2,3,4]; len(x); // No, python x.size; // No, javascript? x.size(); // Still no, uh Java? x.length(); // Grrr size(x); // Think that one is C, right?...
144 просмотров
schedule 20.04.2023

Пока цикл в методе застревает. Добавление назначения поля самому себе устраняет проблему
Начиная наш проект Semaphore, я дал своим ученикам плохую версию метода p(): proc p() { while (this.tokens <= 0) { sleep(1); writeln("Tokens: ", this.tokens); } this.tokens -= 1; } Я даю им дополнительный код...
133 просмотров
schedule 17.02.2024

Как подсчитать итерации в цикле Chapel forall
Я хотел бы знать, сколько раз выполняется цикл при использовании Chapel forall . Этот код, использующий библиотеку CDO , не работает, и я уверен, что это правильно. Может ли кто-нибудь дать мне хороший пример? var j:int = 0; writeln("\n===...
157 просмотров
schedule 24.07.2023

Функциональная переменная и массив функций в Chapel
В следующем коде я пытаюсь создать «указатель функции» и массив функций, рассматривая имена функций как обычные переменные: proc myfunc1() { return 100; } proc myfunc2() { return 200; } // a function variable? var myfunc = myfunc1; writeln(...
181 просмотров
schedule 25.12.2022

Как прочитать файл построчно в Chapel
Я не вижу примера построчного чтения файла в Часовне Учебник файлового ввода-вывода . Предположим, у меня есть csv data.csv NAME,RANK,SERIAL_NUMBER Bootsy Collins,Bassist,8ntNoThing Chappie,Robot,3.14159 Orange,Flavor,54321 Я хотел бы...
108 просмотров
schedule 02.08.2022

Недопустимое использование поля типа или элемента массива в качестве счетчика цикла
В следующем коде я попытался использовать переменную поля (класса или записи) или элемент массива непосредственно в качестве счетчика цикла, но это было недопустимо ("ошибка: недопустимое выражение индекса"). Это просто потому, что счетчик циклов...
74 просмотров
schedule 30.11.2022

Симуляция n-тел с общей памятью в Chapel
Я пытаюсь повторно реализовать реализацию с общей памятью для симуляции n тел, представленную в главе 6.1.6 в книге Питера Пачеко «Введение в параллельное программирование». В этой главе он был реализован с использованием OpenMP. Вот моя...
196 просмотров
schedule 27.06.2022

Часовня - Проблемы с мультилокальной конфигурацией подложки GASNET MPI
У меня есть код forall с распределенными итераторами в Chapel, и я пытаюсь запустить его в кластере. Код отлично работает при использовании канала UDP. Теперь я пытаюсь использовать портативный MPI в качестве внутреннего слоя - безуспешно....
143 просмотров
schedule 05.08.2022

Эквивалентная функциональность Chapel для функции C fgets
Какой код Chapel эквивалентен функции fgets языка C? `fgets(buffer, sizeof(buffer), stdin)` Приведенный выше вызов fgets считывает данные из стандартного ввода до тех пор, пока не встретится символ новой строки. Функция Chapel readln...
47 просмотров
schedule 08.10.2022

Функции обратного вызова в Chapel
У меня есть следующий код часовни. proc update(x: int(32)) { return 2*x; } proc dynamics(x: int(32)) { return update(x); } writeln(dynamics(7)); Я хотел бы отправить обратный вызов dynamics , например proc update(x: int(32)) {...
68 просмотров
schedule 05.09.2022