search for: mikushin

Displaying 20 results from an estimated 210 matches for "mikushin".

2012 Dec 01
2
[LLVMdev] Use rand_r() instead of non-reentrant thread-unsafe rand() in GetRandomNumber()
...m> > If we're keeping the state locally now, perhaps we should store it in a > per-thread variable. I know rand() isn't thread safe to begin with, but it > seems like rand_r() can be since it should keep no external state. > > > On Sat, Dec 1, 2012 at 11:17 AM, Dmitry Mikushin <dmitry at kernelgen.org>wrote: > >> Dear all, >> >> In our LLVM-based compiler pipeline a major part of code generation is >> taken into application runtime. One side-effect of this organization is a >> need to be very careful about using code that might dive...
2012 Dec 01
0
[LLVMdev] Use rand_r() instead of non-reentrant thread-unsafe rand() in GetRandomNumber()
Correcting my patch, reg. __thread stuff I'm not very familiar with. - D. 2012/12/1 Dmitry Mikushin <dmitry at kernelgen.org> > Agreed, done. > > One thing I'm not sure about is this statement in docs: > > POSIX.1-2008 marks *rand_r*() as obsolete. > > - And... what is the replacement? > > > 2012/12/1 Justin Holewinski <justin.holewinski at gmail.com&gt...
2012 Jul 02
4
[LLVMdev] [NVPTX] Backend failure in LegalizeDAG due to unimplemented expand in target lowering
...oes not yet handle up-casting an i1 to an appropriate type for storage. The memory space is not bit-addressable, so a direct store of an i1 does not make sense. In the short term, I would recommend that you manually zext from/to i8 and load/store those. On Sun, Jul 1, 2012 at 10:14 AM, Dmitry N. Mikushin <maemarcus at gmail.com>wrote: > Hi Duncan, > > Sorry I don't understand your point, could you please explain a little bit > more? > Why i1 should be declared illegal? Operations on byte-wide types like > char or bool are pretty legal, according to PTX spec: > > &...
2012 Sep 04
2
[LLVMdev] [NVPTX] Backend cannot handle array-of-arrays constant
...aggBuffer->addZeros(Bytes-ElementSize); } - else if (isa<ConstantAggregateZero>(CPV)) - aggBuffer->addZeros(Bytes); - else - llvm_unreachable("Unexpected Constant type"); break; } It it OK, how do you think? Thanks, - D. 2012/9/4 Dmitry N. Mikushin <maemarcus at gmail.com>: > NVCC successfully handles the same IR, if we try to process the same > .cu file with clang+nvptx and nvcc: > > CLANG/NVPTX: > ============= > > $ cat dayofweek.cu > __attribute__((device)) char yweek[7][4] = { "MON", "TUE&quot...
2015 Apr 08
2
[LLVMdev] CUDA front-end (CUDA to LLVM IR)
On Wed, Apr 8, 2015 at 10:12 AM, Dmitry Mikushin <dmitry at kernelgen.org> wrote: > A tool of this kind here: https://github.com/apc-llc/nvcc-llvm-ir > > 2015-04-08 19:01 GMT+02:00 Ahmed ElTantawy <ahmede at ece.ubc.ca>: > >> Hi, >> >> I wanted to ask whether there is ongoing effort (or an already >&g...
2020 Aug 08
2
Switching to Ninja
> On Aug 8, 2020, at 3:32 PM, Dmitry Mikushin via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > Cool, thanks! > > вс, 9 авг. 2020 г. в 00:27, Petr Hosek <phosek at chromium.org <mailto:phosek at chromium.org>>: > You can set the LLVM_PARALLEL_LINK_JOBS CMake variable to restrict the number of link jobs. I...
2013 Jun 05
2
[LLVMdev] [NVPTX] We need an LLVM CUDA math library, after all
...h the libdevice implementation shipping with 5.5 (and as far as I know, it is). It's just not an officially supported configuration. Also, I've been meaning to address your -drvcuda issue. How would you feel about making that a part of the triple? On Wed, Jun 5, 2013 at 5:10 AM, Dmitry Mikushin <dmitry at kernelgen.org>wrote: > Dear all, > > FWIW, I've tested libdevice.compute_20.10.bc and > libdevice.compute_30.10.bc from /cuda/nvvm/libdevice shipped with CUDA 5.5 > preview. IR is compatible with LLVM 3.4 trunk that we use. Results are > correct, performance...
2012 Jul 08
1
[LLVMdev] [NVPTX] Backend failure in LegalizeDAG due to unimplemented expand in target lowering
...MVT::i1, Custom); > > > > is the right way to go. > > > > Yuan > > > > > > From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On > Behalf Of Justin Holewinski > > > Sent: Monday, July 02, 2012 9:55 AM > To: Dmitry N. Mikushin > Cc: llvmdev at cs.uiuc.edu > Subject: Re: [LLVMdev] [NVPTX] Backend failure in LegalizeDAG due to > unimplemented expand in target lowering > > > > Okay, few issues here: > > > > First, i1 is used in the NVPTX back-end to map to the predicate (.pred) > type. W...
2012 Sep 06
0
[LLVMdev] [NVPTX] Backend cannot handle array-of-arrays constant
On 09/04/2012 09:57 AM, Dmitry N. Mikushin wrote: > I think our test case demonstrates that requiring the array item being > initialized to be constant is incorrect. NVPTX does not crash anymore > and produces correct result with the following change: > > --- NVPTXAsmPrinter.cpp 2012-09-03 15:14:00.000000000 +0200 > +++ NV...
2013 Jun 05
0
[LLVMdev] [NVPTX] We need an LLVM CUDA math library, after all
...5 preview. IR is compatible with LLVM 3.4 trunk that we use. Results are correct, performance - almost the same as what we had before with cicc-sniffed IR, or maybe <10% better. Will test libdevice.compute_35.10.bc once we will get K20 support. Thanks for addressing this, - D. 2013/2/17 Dmitry Mikushin <dmitry at kernelgen.org> > > The issue is really that there is no standard math library for PTX. > > Well, formally, that could very well be true. Moreover, in some parts CPU > math standard is impossible to accomplish on parallel architectures, > consider, for example err...
2013 Feb 17
2
[LLVMdev] [NVPTX] We need an LLVM CUDA math library, after all
...accuracy modes can be used to pick the proper library function in the > latter case, but I still think library function choice is better left up to > the front-end, and the accuracy attributes are a better fit to drive > optimization. > > > On Sun, Feb 17, 2013 at 9:48 AM, Dmitry Mikushin <dmitry at kernelgen.org>wrote: > >> Hi Justin, >> >> I don't understand, why, for instance, X86 backend handles pow >> automatically, and NVPTX should be a PITA requiring user to bring his own >> pow implementation. Even at a very general level, this limi...
2011 Sep 12
1
[LLVMdev] llvm-gfortran problems
No, I am running the LLVM pass at the compilation step. So by the time I reach the link step, the transformed bitcode has been generated. Ashay On Mon, Sep 12, 2011 at 4:12 PM, Dmitry N. Mikushin <maemarcus at gmail.com>wrote: > I see. And what's the purpose for outputting bitcode into *.o and *.a > files? Do you want to perform an LLVM pass on linking step? > > 2011/9/13 Ashay Rane <ashay.rane at tacc.utexas.edu>: > > Hmm.. I didn't explain the proble...
2012 Jul 03
0
[LLVMdev] [NVPTX] Backend failure in LegalizeDAG due to unimplemented expand in target lowering
...8 bit. setOperationAction(ISD::LOAD, MVT::i1, Custom); setOperationAction(ISD::STORE, MVT::i1, Custom); is the right way to go. Yuan From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Justin Holewinski Sent: Monday, July 02, 2012 9:55 AM To: Dmitry N. Mikushin Cc: llvmdev at cs.uiuc.edu Subject: Re: [LLVMdev] [NVPTX] Backend failure in LegalizeDAG due to unimplemented expand in target lowering Okay, few issues here: First, i1 is used in the NVPTX back-end to map to the predicate (.pred) type. We definitely do not want to declare this type as illegal....
2012 Aug 03
1
[LLVMdev] [NVPTX] Strange assertion around BlockToChain.clear(); in Release+Asserts build
Unfortunately, I cannot reproduce this. Based on your bugzilla comment, it does look like a mis-compile with your system compiler. Does the same issue occur if you build LLVM as static libraries? On 08/03/2012 12:24 AM, Dmitry N. Mikushin wrote: > Dear NVPTX community, > > I've create a bug http://llvm.org/bugs/show_bug.cgi?id=13521 with > reprocase for this issue. > > Please, help us to fix it. Last 1,5 months we regularly encounter & > workaround or fix 1-2 bugs per week in NVPTX backend. This is >...
2011 Sep 12
2
[LLVMdev] llvm-gfortran problems
...#39; files is a bit ugly. llvm-ld handles the archive (.a) files without any manual extraction but I fear that because llvm-ld is not a full-featured linker, I might run into a wall because of incompatible options between gfortran/gcc and llvm-ld. Ashay On Mon, Sep 12, 2011 at 3:38 PM, Dmitry N. Mikushin <maemarcus at gmail.com>wrote: > Sorry, at what step do you need archive? llc emits binary, it does not > perform any linking, thus it does not need anything except the input > bytecode file. Then during linking you can link whatever archives of > binaries you want. > > 201...
2012 Apr 08
1
[LLVMdev] Privatize global variables
...nternalLinkage); which means it only changes the linkage mode, while global variables remain in place. And we need to *replace* globals with local variables in main and arguments - in other functions. - D. 2012/4/8 John Criswell <criswell at illinois.edu>: > On 4/7/12 7:28 PM, Dmitry N. Mikushin wrote: >> >> Dear LLVM, >> >> To workaround the GPU modules visibility rules, we need to lower >> global variables into scope-variables of main entry and arguments in >> other functions. For example, > > > The -internalize pass changes globals to have in...
2013 Jan 16
2
[LLVMdev] [Polly] Aliasing problems escalation (WAS: Re: [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?)
Hi Dmitry, On 15/01/13 22:22, Dmitry Mikushin wrote: > Hi Duncan, > > You mean - what happens if DragonEgg is invoked with GCC optimization? I tried > -O3 and -fplugin-arg-dragonegg-llvm-ir-optimize=1, but nothing changed. no, I meant if you run gcc with optimization and don't use dragonegg at all. If I understand right, your...
2013 Feb 17
2
[LLVMdev] [NVPTX] We need an LLVM CUDA math library, after all
...the needs of the source > program/language. Users should be free to use any math library > implementation they choose. Intrinsics are meant for functions that > compile down to specific isa features, like fused multiply add and square > root. > On Feb 16, 2013 8:46 PM, "Dmitry Mikushin" <dmitry at kernelgen.org> wrote: > >> Dear Yuan, >> >> Sorry for delay with reply, >> >> Answers on your questions could be different, depending on the math >> library placement in the code generation pipeline. At KernelGen, we >> currently h...
2011 Sep 12
0
[LLVMdev] llvm-gfortran problems
...lvm-ld handles the > archive (.a) files without any manual extraction but I fear that because > llvm-ld is not a full-featured linker, I might run into a wall because of > incompatible options between gfortran/gcc and llvm-ld. > Ashay > > On Mon, Sep 12, 2011 at 3:38 PM, Dmitry N. Mikushin <maemarcus at gmail.com> > wrote: >> >> Sorry, at what step do you need archive? llc emits binary, it does not >> perform any linking, thus it does not need anything except the input >> bytecode file. Then during linking you can link whatever archives of >> bi...
2012 Dec 02
1
[LLVMdev] Use rand_r() instead of non-reentrant thread-unsafe rand() in GetRandomNumber()
...latforms have you tested this on? Is it available on Windows, Mac, BSDs? If not touching global state is important enough, perhaps we should add a (simple) random number generator to the Support library. I don't think LLVM would require anything fancy. On Sat, Dec 1, 2012 at 2:25 PM, Dmitry Mikushin <dmitry at kernelgen.org>wrote: > Correcting my patch, reg. __thread stuff I'm not very familiar with. > > - D. > > > 2012/12/1 Dmitry Mikushin <dmitry at kernelgen.org> > >> Agreed, done. >> >> One thing I'm not sure about is this stateme...