Hi Peter -
Thanks for sharing your experience and analysis. I would
like to point out two things.
First, the declaration
var i = 0;
is not necessary in any of your tiny programs since
for/forall will introduce i as a variable within its scope.
Second, your forall loop does not compute the same
Hi Chapel Users -
Over on chapel-developers, we have been discussing changing the Chapel
language operator precedence - especially to fix the order of bitwise
operators in relation to equality operators.
We'd like to know if Chapel users have any objections to this change.
Why? I learned recentl
;if (system_settings | user_settings | command_line_settings |
> runtime_settings ^ ~ VERY_SPECIAL_CASE) then
> /* Do something for very special case */;
> That is, if the union of the various settings exactly matches the very
> special case then do something.
>
> For what i
Hi Tiffany -
When compiling with --llvm, the code that generates the link-line is
in compiler/util/clangUtil.cpparound line 1488 in makeBinaryLLVM.
In particular, I believe your -lfftw3 option is ending up in the libFlag
array and thus getting included early on in the compile line; while most
of t
Hi Bibek -
I've run into these Perl warnings before. I solved them by installing
the locales package, but they are not fatal errors.
As Brad mentioned, you'll also need the bc package.
Cheers,
-michael
On 03/26/2014 10:49 PM, Bibek Ghimire wrote:
> Hey everyone,
>I have been trying
Hi Bibek -
I use SLURM myself and have some tidbits for you:
- there is a SLURM-specific launcher for inifiniband
although I havn't tried it, you should be able to use
it with export CHPL_LAUNCHER=slurm-gasnetrun_ibv
- With the environment you are describing, you are using
the SSH job spa
Hi Nikhil -
I'm sorry I didn't notice this earlier - but your program
works in this way because the channel.read functions taking
in variables return true if they read something and false
otherwise. That's because there are many cases in which
you don't know how long your file is, so you want some
Hi -
My guess is that you need to rebuild the Chapel runtime and/or your
program after changing CHPL_COMM. Try
$export CHPL_COMM=gasnet
$ (other exports)
$ make
$ chpl hello6-taskpar-dist.chpl -ohello6-taskpar-dist
$./hello6-taskpar-dist -nl 2
You can always use
./util/printchplenv to see what
Hi -
Two questions:
In a recursive search, does the pattern glob apply to the whole
path or just the last element (e.g. filename)?
When dotfiles=true, does it go through '..' and '.' directories
(so that a recursive list loops infinitely?) I hope not.
Two suggestions:
It might be interesting t
Hi John -
I just wanted to add a little to this exchange. You were talking about your
custom distribution and you said:
> My implementation isn't quite as efficient as I'd like, though I'll see
> what kind of improvement some caching will bring...
You might be interested to try the --cache-rem
Hi Marco -
I understand that you got the IBV conduit working, but I wanted to leave a
pointer to my earlier experience with Chapel on IBV and MXM conduits:
http://permalink.gmane.org/gmane.comp.lang.chapel.devel/230
I was able to get both IBV and MXM conduits to work with
CHPL_GASNET_SEGMENT=fas
lately, but I should have time to work more on this
> issue on next week.
>
> 18.02.2015, 18:47, "Michael Ferguson" :
>
> Hi John -
>
> I just wanted to add a little to this exchange. You were talking about
> your custom distribution and you said:
>
>
> My im
Hi -
One more thing about the --cache-remote feature, just to be clear and for
future reference:
The remote caching depends on pthread local storage, and Chapel task
movement among worker pthreads in Qthreads-based tasking could break it. So
far we haven't seen this happen, but we cannot guarante
try running on a real cluster…
Cheers,
-michael
From: Greg Titus mailto:g...@cray.com>>
Date: Thursday, February 19, 2015 at 11:41 AM
To: John MacFrenz mailto:macfr...@yandex.com>>
Cc: Michael Ferguson mailto:michaelfergu...@acm.org>>,
"chapel-users@lists.sourceforge.
On 2/22/15, 1:19 PM, "John MacFrenz" wrote:
>I was thinking of the latter approach. Also a generic ring buffer
>implementation would be useful in cases like this. I almost started
>writing one, storing in array N elements of type T. However, I couldn't
>figure a way to write a method getCurrent
Hi John -
One more note - to write your INI parser you don't actually need
the string routines like find and trim. (although we should
certainly have those routines available and as Kyle pointed
out we'd be happy to have help in this area).
In the mean time, you might be able to do what you need
pa0273 3.0.101-0.40-default #1 SMP Thu Sep 18
>13:09:38 UTC 2014 (44b8c95) x86_64
>CHPL_HOME: /home/mp27lupo/opt/chapel
>script location: /home/mp27lupo/opt/chapel-1.10.0/util
>CHPL_HOST_PLATFORM: linux64
>CHPL_HOST_COMPILER: gnu
>CHPL_TARGET_PLATFORM: linux64
>CHPL_TARGET_COM
Hi John -
Compiling with --cache-remote will cause the runtime to not only
cache remote data that is reused, but to:
- prefetch sequential GETs
- always GET 64b cache lines at a time
- perform write-behind for PUTs
While I haven't looked closely at your case, if each locale
is requesting 8000
Hi Damian -
I'd like to work with you to implement this feature.
Let's work out the details off-list.
Cheers,
-michael ferguson
On 4/20/15, 1:48 AM, "Damian McGuckin" wrote:
>
>Well strictly speaking the IEEE754 floating point standard, e.g.
>
>
Hi Damian -
I do have one question for you about this. The C function frexp
breaks up a floating point number into a normalized fraction (stored
as a double) and an exponent.
Do you know how to convert that behavior to returning the mantissa
as an integer? Is it important to you to get an integer
Hi Damian -
See below.
On 5/18/15, 8:37 PM, "Damian McGuckin" wrote:
>
>Hi Michael,
>
>On Mon, 18 May 2015, Michael Ferguson wrote:
>
>> I do have one question for you about this. The C function frexp breaks
>> up a floating point number into a normalized
Hi Damian -
On 5/19/15, 7:50 PM, "Damian McGuckin" wrote:
>> (Brad was saying)
>>* Generally, my answer for doing C-style unions or casts would be to do
>> that in a C (static inline?) function or macro and call it from
>>Chapel.
>> I.e., leave the gross stuff in C rather than Chapel.
>
>An
Hi -
See below.
On 5/20/15, 9:02 AM, "Jason Riedy" wrote:
>And Damian McGuckin writes:
>> On Tue, 19 May 2015, Michael Ferguson wrote:
>>
>>> I have verified that GCC at least does not inline frexp. I don't
>>> understand why it couldn't, b
Hi Damian -
Vass already pointed out numBytes(type t). numBytes is only
supported for certain types (such as int and real types for sure).
I think it would be possible to support that query for more
types, but it's challenging because of the way Chapel generates
C code and then runs a C compiler.
Hi -
On 5/21/15, 7:42 AM, "Damian McGuckin" wrote:
>
>Why would a 32 bit floating point number multiplied by a 32 bit integer
>yield a 64 bit quantity? Is Chapel trying to avoid overflow?
Yes. This behavior matches the language specification.
In section 9.1.1, it says that int(32) won't coerce
Hi Damian -
So, are you saying that we should either:
1) use 'trunc' instead of 'floor' in the mod for reals function, or
2) call C's fmod function to implement mod for reals?
I (personally) think that either of these are reasonable options
(and I'd vote for (2), but (1) would be very easy to do
Hi Greg -
See below...
On 5/26/15, 11:42 AM, "Greg Kreider" wrote:
>
>Hi,
>
>We've been learning and playing around with Chapel the last
>month and have come up with a long list of questions and
>comments (and some bugs that we'll post to chapel-bugs). It
>might be best to split them into seve
Hi Damian -
I really want mod(x,y) for integers x,y to return a positive value
whenever y is positive (since I frequently use mod to bucket values
into an array). I also want mod(x,y) for reals to do the same
thing when both arguments are integral. That gives the 'floor' behavior
here.
Since the
Hi -
Just responding to one thing:
On 5/27/15, 3:50 PM, "Greg Kreider" wrote:
>
>Might it possible to generate a map of the C lines that correspond
>to each Chapel source line, so that you could use the normal C
>debugging tools to find out where the error occurred, and then trace
>it back to C
Hi Greg -
I'll reply below.
On 5/28/15, 11:03 AM, "Greg Kreider" wrote:
>
>Good morning,
>
>The questions for today are about the compiler and external
>code.
>
>1. It seems that the compiler is aggressive about not touching
>dead code, with some basic syntax checking being done but
>un
Hi Greg -
See below. Class instances have to be delete'd...
On 5/28/15, 11:41 AM, "Greg Kreider" wrote:
>
>> I think you're already on the trail of the "Killed" problem
>
>Hi Greg,
>
>It's definitely an Out of Memory error, and I think a leak within
>Chapel.
>
>Here's a test case similar to wha
Hi Greg -
Continuing our conversation -
On 5/28/15, 12:12 PM, "Greg Kreider" wrote:
>>
>>You could use the extern block mechanism, if you have Chapel
>>built with LLVM. For example (this example is in our test suite):
>>
>>extern {
>>typedef enum {
>> ENUM_A = 1,
>> ENUM_B = 0,
>>
Hi -
On 6/1/15, 2:44 PM, "Brad Chamberlain" wrote:
>>
>>3. Could the M_* constants from math.h be added to Math.chpl?
>>(Especially M_PI.)
>
>Yeah, I'd think we'd want to do that. I think the main challenge is
>probably choosing names (e.g., I don't think M_PI is probably right for
>Chapel.
My 2 cents on this:
On 6/1/15, 7:23 PM, "Brad Chamberlain" wrote:
>
>Let me peel this one question about config const/var help off separately:
>
>>> For example, given:
>>>
>>> config var m = 10,
>>> n = m;
>>>
>>> would you prefer ./a.out --help to say:
>>>
>>> m = 10
Hi -
Continuing the conversation about math constants:
On 6/2/15, 7:27 AM, "Damian McGuckin" wrote:
>On Mon, 1 Jun 2015, Michael Ferguson wrote:
>
>>>> 3. Could the M_* constants from math.h be added to Math.chpl?
>>>>(Especially M_PI.)
>>
Hi Mikel -
See below...
On 6/4/15, 5:16 AM, "Mikel Antoñana" wrote:
>Hi,
>
>
>I will like to begin a project with Chapel.
>
>The best document I have find to begin programming with Chapel is "Chapel
>language Specification 0.97. Can someone recommend an useful document for
>a begginer ?
You
Hi Damian -
The form feed patch is in (it was PR 2045)... Please let me know
if it doesn't work as expected.
Thanks,
-michael
On 6/6/15, 1:41 PM, "Damian McGuckin" wrote:
>On Tue, 2 Jun 2015, Brad Chamberlain wrote:
>
>> I'm surprised that Michael didn't jump on this one, but I believe it
>>s
Hi -
I'd recommend you adjust your PATH to include the clang you
are trying to use and then use CHPL_HOST_COMPILER=clang.
You'll know you've done so correctly when `which clang`
indicates the version you are trying to use.
In some cases, you might be able to work with the clang
source tree bundle
d work with LLVM 3.6 and some earlier
versions (3.4 and 3.5 most likely) but as I mentioned, you'll
need some changes I have in a branch for LLVM 3.7 to work.
Cheers,
-michael
>
>
>
>On Tue, Sep 8, 2015 at 8:30 AM, Michael Ferguson
> wrote:
>
>Hi -
>
>I'd recomm
Hi -
It's possible to mark function to be callable from C
using the 'export' keyword (similar in use to 'extern').
You can use that to call back in to Chapel from C code.
I'm less clear on whether or not you can actually create
a shared library with the Chapel compiler. The Python integration
mi
Hi Ian -
Thanks for pointing out this bug and its solution. Of course,
for this kind of thing, you are welcome to just create
a pull request yourself...
I've created a bug fix patch here:
https://github.com/chapel-lang/chapel/pull/2505
That bug fix patch includes a version of your test
case th
ng strings with read() is challenging
>if those strings contain spaces (with or without the
>-ln). This feels to me like something to make clear in
>documentation though, not by making it an error.
>
>-Brad
>
>
>From: Michael Fergus
Hi Mikel -
As part of learning about parallel programming, using Chapel
is absolutely an appropriate way to see the advantages of
parallelization. Brad was saying that if you want maximum
absolute single-node performance, we don't expect Chapel to beat
OpenMP at this time.
Chapel does make it eas
Hi -
On 11/23/15, 4:50 AM, "Tomsy Paul" wrote:
>Hello all,
>
>
>var A: [1..m,1..n] real;
>
>
>Is there a way to get the range 1..m from A?
>
>
>I mean some proc of A like A.domain.first ?
Yes. A.domain.dim(1). Here is an example that I verified:
var A: [1..10,1..20] real;
writeln(A.domain.
Hi -
On 3/3/16, 5:34 PM, "ct clmsn" wrote:
>Chapel users!
>
>Is there a mechanism to determine the "sizeof" a data type's instance
>before it's passed to itemWriter?
If you mean - how many bytes will it write - you could write one and count
the
bytes. But not all types are fixed length when wri
Hi -
Thanks for asking this question on chapel-users - others can
benefit from the question and answer. See below.
On 3/10/16, 9:05 AM, "Jyothi Krishna.V.S" wrote:
>Hi,
>
>In the below program
>
>
>proc test1(x: int ) {
> var x1: int = x;
> var done$: single bool = false;
> begin with (r
Hi -
Brad pointed out a reasonable workaround, but I see no reason why we
shouldn't support casts of this type.
If fact, Kyle added them in revision 21b548ae.
Nikhil, the test program you have works for me (once I add a C
prototype for integrand - a full copy of my version is below).
I'm using m
Hi Nikhil -
Thanks for the bug report. In this case, I think it's a minor issue,
since it appears that the leak is limited to these conditions:
* tuple unpacked in call (as you noted)
* tuple unpacked into global variables (i.e. not in a function)
In other words, this code doesn't seem to have
Hi -
> Even though r is defined to be constant, it clearly is being changed
It's my personal view that this just indicates some missing parts
in our implementation of const-checking. I think it should be an
error. I don't know whether or not others agree with me.
-michael
On 6/11/16, 1:55 AM, "
Hi -
On 6/17/16, 7:38 PM, "Mike Noakes" wrote:
>Assuming that I have understood your proposal, I find this concept
>intriguing in the abstract. Unfortunately I think that you are
>considering
>a notion that is beyond the current design of Chapel. It is, of course,
>possible that someone else i
Hi -
On 7/14/16, 7:39 AM, "Tomsy Paul" wrote:
>What about "local" ?
Well, local already means "on a single locale", as with the local
block:
var x = 12;
on Locales[1] {
local {
// communication not allowed within this block
var A:[1..100] int;
A += x; // error: use of x causes c
Hi -
You could also try using
export CHPL_TARGET_COMPILER=mpi-gnu
Assuming you gave MPI configured to use GCC. If that's the case,
if CHPL_TARGET_COMPILER=mpi-gnu when you build Chapel and use
it, you should see mpicc calls as the linker.
Brad had lots of other good ideas for how to troublesho
Hi -
On 7/27/16, 10:14 AM, "Caswell, Jacob" wrote:
>Hello all,
>
>I’m quite new to Chapel, so I apologize if I’m sending this email to the
>wrong mailing lists.
Welcome. Anyway, I'd expect questions like this to go to chapel-users or
to chapel-bugs.
This question being on chapel-users will all
Hi -
One more thing to point out about the purpose of explicit 'module'
declarations. You can have 1 file that contains several modules,
and you can have modules that contain other modules. These ways of
using modules are handy to control what is exported (through
'private use' although I don't re
Hi Russel -
> However, GMP integers are not integers according to the Chapel
> compiler.
That's right; and they wouldn't be in C++ either... Nonetheless
I'd like to mention two things:
1) The BigInt support has recently been revamped
and we're working on getting that in to master. The 1st
Hi Russel -
On 9/3/16, 6:57 AM, "Russel Winder" wrote:
>Has Chapel got a specific RAII construct?
>
>Like D, Chapel puts structs (aka records) on the stack and classes on
>the heap. So as long as the struct/record destructor tidies things up,
>RAII is automated.
>
>but what about class objects,
Hi -
On 9/3/16, 6:59 AM, "Russel Winder" wrote:
>Being a fan of BDD/TDD I need a test framework in order to develop any
>code. Has anyone got, or is working on a testing framework for Chapel?
>If yes, count me in…
Are you already familiar with the test framework that comes
with Chapel? The one
Hi -
I'm also for Russel's proposal to allow extra trailing commas.
Does anybody object to the proposal?
Cheers,
-michael
On 9/6/16, 2:17 PM, "David G. Wonnacott" wrote:
>
>
>
>The trailing-comma feature is one of the (relatively few) things I really
>like about Python, and I'd be happy to s
Hi -
FYI, I went ahead and did the parser changes to support this improvement:
https://github.com/chapel-lang/chapel/pull/4521
This is now on master and also should be in our upcoming release.
Cheers,
-michael
On 9/6/16, 1:55 PM, "Russel Winder" wrote:
>I raised this point elsewhere and it
Hi -
> If I have 4 unknowns at each grid point, what is the best way to
> store this data ?
This sounds like a good use for a tuple to me.
E.g. instead of
var u1 : [Domain] real;
var u2 : [Domain] real;
var u3 : [Domain] real;
var u4 : [Domain] real;
you can use
var u : [Domain] 4*rea
Hi Jake -
Hui (CC'd) also recently ran into this issue and was
able to find a workaround. Hui, could you describe the workaround?
It looks like there is a bug here...
Cheers,
-michael
On 10/25/16, 6:38 PM, "Caswell, Jacob" wrote:
>Hello everyone,
>
>
>
>I've been trying to make Chapel from t
Hi -
On 10/26/16, 9:28 AM, "Michael Ferguson" wrote:
>Hi Jake -
>
>Hui (CC'd) also recently ran into this issue and was
>able to find a workaround. Hui, could you describe the workaround?
Hui was having trouble posting to the list. Here is what he
said:
Here'
Hi -
First, I'm excited to see your initial prototype.
This is an area I've been interested in, but haven't
been able to work much on myself. The rest of this
email goes into some design questions for integrating
libevent2 with Chapel tasks.
I'm just wondering - in your HTTP server, how
does libe
Hi -
On 12/19/16, 2:32 PM, "Fábio Mallaco Moreira" wrote:
>So, I've sucessefully built and used the single locales version of Chapel
>on Bash on Windows 10 with no major surprises but cant get the multi
>locales version to work. Has anyone ever tried this?
I have some limited experience with Ch
Hi -
>Dear Chapel devs and users,
>
>
>I already fixed the reverse reading problem. It is only the config of
>the channel reader. Instead of using kind=ionative, I changed kind=iobig
Glad you got it working. FYI, it's also possible to use the formatted
I/O mechanism to read individual integer
Hi -
Over on this GitHub issue:
https://github.com/chapel-lang/chapel/issues/6283
we're considering changing the default executable
name. Right now, if you have a foo.chpl like this:
// foo.chpl
writeln("Hi");
and then if you run:
$ chpl foo.chpl
it will produce an executable named a.out
Hi -
I'm not sure I can make a complete list but I would like to point
out that JSON is supported with Chapel's formatted I/O system.
Try e.g. writef("%jt", myVariable);
Reading works OK but there are some philosophical questions that
are currently unresolved to do with - in what circumstances ca
hael
>
>
>Thanks,
>b
>
>~
>May All Your Sequences Converge
>
>
>
>On Aug 1, 2017, at 10:14 AM, Michael Ferguson wrote:
>
>Hi -
>
>I'm not sure I can make a complete list but I would like to point
>out that JSON is supported with Chapel's
Hi Roger -
FreeBSD isn't a currently tested platform for Chapel (we tend to focus on linux
variants).
However the following patch might enable you to get further. I intend to commit
some
improvements along these lines to the master branch.
I'm also curious to see the entire output from ./util/p
ed in your configuration. We're
working on that.)
Cheers,
-michael
Hello Michael
Michael Ferguson writes:
> Hi Roger -
>
> FreeBSD isn't a currently tested platform for Chapel (we tend to focus on
linux variants).
> However the followi
Hi -
Hi Ben !
A quick question , is the project listed under Task and Features section
(Radix sort) the only project that the students get to work on ?
Yes, we're expecting that the radix sort project will take the whole summer.
We only applied to RGSoC with this 1 project an
Hi -
Regarding this question about distributed associative:
>
>When you say it did not make it to master, do you mean that currently
>this feature is not publically available anywhere?
I believe we have a prototype in our test/ directory, though the latest
version of
Hi Damian -
> If you mean being able to refer to an external
> C variable which is a struct then yes.
To be clear, the usual way to allow a C struct to work in Chapel code
is `extern record`, which we are not talking about deprecating:
https://chapel-lang.org/docs/technotes/extern.html#declarin
Hi Russel -
Brad's away at the moment but I wanted to point out that his
branch supporting bigint ranges hasn't made it to master yet.
It is here:
https://github.com/chapel-lang/chapel/compare/master...bradcray:bigint-ranges
I expect Brad will look at it more after he gets back, but let
us kno
Hi Craig -
I don't think --specialize makes any sense in combination
with CHPL_TARGET_ARCH=unknown. The combination is
asking for optimization specific to a target architecture,
but the target architecture isn't specified.
You already should get optimization to a least-common-denominator
architec
Hi -
For those of you working with the master branch of Chapel,
I wanted to point out that I recently enabled the lifetime checker
by default.
If it causes problems for you, you can turn it off with the
chpl compiler flag --no-lifetime-checking
Additionally, if you get confusing errors from the
Hi -
I wanted to mention that last week I changed the compiler
to treat `new SomeClass()` as the same as `new borrowed SomeClass()`
which is the same as `(new owned SomeClass()).borrow()`. In other
words, the default `new SomeClass()` creates a class instance that
the compiler manages.
If the lif
77 matches
Mail list logo