freenode/#lisp - IRC Chatlog
Search
23:31:06
void_pointer
the GPU part is a first step before some human intervention has to be done for a few hours or so before it can be ready for the second part
23:31:24
void_pointer
the second part is the one that one might want to redo. First one once done, there is often little reason to redo
23:34:57
void_pointer
I'm basically doing an axpy operation, but rather than being purely floating point (and then being able to use BLAS), it has integers. In principle, I could just convert the Fortran axpy function in refblas and wrap it
23:39:58
|3b|
also, just out of curiosity have you tried (map-into a #'* a b) rather than manual loop?
23:43:13
void_pointer
but, in this case, scalar and y are arrays. I'm pretty sure there is a BLAS level 2 or 3 function for this but I don't remember its name
23:44:01
|3b|
ACTION doesn't know blas, but a vector scalar sounds like an interesting thing to have :p
23:45:34
void_pointer
BLAS is a lot of fun, especially trying to write one's own and the struggles that go with getting it right
23:46:42
|3b|
yeah, it's right on the edge of stuff i do, but i usually just write it myself on GPU for that sort of thing rather than trying to figure out CL<->fortran stuff
23:49:24
|3b|
ACTION used my own opencl bindings last time i used opencl, but most of my hardware is NV and their opencl support isn't good enough for me to bother with anymore :(
23:49:49
|3b|
(and i'm mostly doing graphics stuff so gl/vulkan compute shaders are more appropriate anyway)
23:50:02
aeth
I'm probably going to write my own BLAS at some point. Technically, you don't want one BLAS. That's not the point of BLAS.
23:50:42
aeth
You'd want e.g. SBCL/x86-64, SBCL/x86, SBCL/arm64, etc., each one probably heavily using define-vop (or the equivalent if a different implementation)
23:52:41
void_pointer
for what I am doing, gl is my eventual goal (it is graphics), but I can more easily reason with and debug array operations on the CPU or using simple 2D drawing commands (which use gl in the background). Also means I have a fallback.
23:52:45
no-defun-allowed
i'll probably move to arch since the wiki and resources are less headache-inducing than ubuntu for the new stuff
23:53:46
|3b|
void_pointer: well, combining 2 textures even with simple 2d stuff is pretty trivial in GL
23:55:07
aeth
Porting the concept of BLAS to CL is a bit tricky because you have two representations for 2D stuff (i.e. matrices): 2D arrays and 1D arrays.
23:55:42
aeth
And you want both, e.g. if those matrices are going to be fed into OpenGL they have to be 1D
23:56:39
void_pointer
|3b|: good to know. Part of it is that I don't know GL yet. Tried for a while and struggled. Decided I would come back to it once I had my rendering pipeline figured out and proofed in SDL or on arrays on the CPU
23:57:59
void_pointer
aeth: yeah, it would be messy. Did it in Fortran a decade ago and was pretty easy, but that is no surprise because BLAS was designed around Fortran and Fortran was designed just for these sorts of things
23:59:02
aeth
void_pointer: Unfortunately, F2CL generates some pretty trash SBCL based on disassembling what it generates, so either you write your own translator or do it manually.
23:59:59
void_pointer
aeth: and that is not even getting into some of the dark corners of Fortran I take it
0:00:40
void_pointer
aeth: like arithmetic if statements, the not technically standard but defacto standardized cray pointers, etc.
0:01:16
aeth
Yeah, I suspect you'd want a hand translation because efficient SBCL and efficient FORTRAN are two different things even though SBCL can get pretty efficient.
0:02:40
aeth
(I'd expect at most a 4x performance loss in properly-written SBCL, and perhaps even a performance gain once define-vop is mixed in for the implementation-and-architecture-specific parts.)
0:06:56
void_pointer
Would be hard to imagine getting withen even x2 of refblas. Definitely not within that much of ATLAS or one of the processor vender versions of BLAS (which are extremely tuned to the processor)
0:07:40
aeth
void_pointer: https://www.pvk.ca/Blog/2014/03/15/sbcl-the-ultimate-assembly-code-breadboard/
0:08:38
aeth
void_pointer: If you wanted to do a serious CL BLAS, you'd use define-vop on SBCL and the available equivalent in other implementations if there are any, falling back to the CL as a default for unsupported implementation/architecture combinations or if the user requests the portable CL (in *FEATURES* or something?) which would be safer but slower
0:10:55
aeth
(I'm guessing you'd also want GPU implementations as well, depending on your workload.)
0:48:38
Xach
many years ago on another channel i maintained an xearth markerfile for all the regulars so you could see what timezone they might mean when they said such things
1:23:55
aeth
To put that in perspective, most people would have been using single-core 32-bit processors and 32-bit Lisps. I'm guessing CLISP was probably the most popular back then based on the material from the period that survived.
1:26:21
aeth
I was using a Windows 2000 system (not mine) as late as 2008. Obviously not my choice in that case.
1:26:39
housel
I have some channel logs from 2003-2004; SBCL, CMUCL, OpenMCL, GCL, ECL, CLISP all get mentions
1:29:25
aeth
The other two log sites seem to have issues from time to time. Tymoon doesn't seem to have any gaps
1:32:13
lyf[kde]
I was trying to borrow The Seasoned Schemer from my university library. The book has bee overdue since 10/27. :(
2:17:33
pfdietz
I don't think gcl can be considered to have survived as a living project. ACL2 was the big supporter, and it's moved to other lisps.
2:30:07
fiddlerwoaroof
Yeah, adding clos is on their list of planned changes here: http://git.savannah.gnu.org/cgit/gcl.git/tree/gcl/readme
2:31:27
fiddlerwoaroof
That kinda makes it interesting, if one were interested in implementing CLOS from scratch
2:52:06
LdBeth
Both CCL and LispWorks use their own implementation, because they are commercial products
2:56:47
PuercoPop
I know this is only tangentially on-topic, but does someone know how to configure the shift keys to work like the space cadet ones, when they are pressed by they own they insert a shift
3:00:41
PuercoPop
fiddlerwoaroof: yeah, paren. I look into xcape. Was hoping that I could setxkmap my way to it
3:01:27
jcowan
Windows definitely supports sticky-shift as part of the disability accommodations, and I bet the Mac does too.
3:01:31
fiddlerwoaroof
However, I set this up everywhere I work (ever since reading sjl's article) and it's amazing
3:01:57
fiddlerwoaroof
jcowan: know this is "push shift by itself and get a paren, push it with another key and get a capital/symbol"
3:05:37
oni-on-ion
hmm i like the idea. already using snoopy-mode so the whole number row is preshifted ; xcape can do this ?
3:08:17
oni-on-ion
i had the idea to move backspace to top left (tilde) and space to top right (backspace.) which i then understand is similar to commodore 64
3:10:48
fiddlerwoaroof
I have also recently switched to having capslock be C-M-s, so C-M-s-g is just Caps Lock-g, which is really nice too
3:13:48
fiddlerwoaroof
I use C-M-s- for global keybindings such as "capture the current safari tab url in org-mode"
3:17:49
oni-on-ion
oh, oops. [meanwhile i've been using s- for everything becaues its my windows key and exwm has it locked down.]
3:59:06
ski
(<https://upload.wikimedia.org/wikipedia/commons/e/e9/Commodore-64-Computer-FL.jpg>. cursor arrows are on bottom right. shift needed to go up and left. C128 added four separate cursor keys)
4:36:49
White_Flame
petscii has an up-arrow for exponentation in BASIC, and a left-arrow for ... nothing in particular?
4:37:24
White_Flame
a lot of DOS wedges used it, but other than that it's basically like any other graphics glyph. Not sure why it got its own key
4:40:32
no-defun-allowed
(in gnu smalltalk, `x _ 2` assigns 2 to x, so i assume that the codepoint was also used by <-)
4:51:17
ski
hm, Turbo Assembler uses left-arrow as an escape key (cf. `^A' in GNU Screen). perhaps it was intended that applications could use it like that ?
5:42:44
oni-on-ion
for a big standard theres a lot of libs. uiop, alexandria, trivia, optima, series, incf-cl; does anyone know the status of the most recent/complete CL community spec? i forget what it was called.
5:47:04
beach
I think the work on the UltraSpec is stalled. You can ask phoe who is the one who starte it.
6:27:00
jackdaniel
for instance the one written by Didier Verna about format interpretation differences (and proposal of how to unify them)
6:50:54
elderK
I really wanna play more with Lisp atm but RSI is acting up :| WANNA HACK. But shouldn't
6:56:45
elderK
Thanks shka_. The RSI seems to come in fits and bursts. It gets really bad for a time and then... seems to vanish.
7:01:19
shka_
in my case, i switched into different keyboard layout (colemak) and this seems to helped, but my evidence is purely anecdotal and therefore you may ignore this
7:01:43
shka_
for sure learning how to type with all the fingers instead of the 3 on each hand helped
7:05:22
elderK
Nice :) I need to invest in a new ergonomic keyboard. My last was destroyed due to well, acids. That's a long story.
7:05:52
elderK
And yeah, bad habits are surprisingly easy to slip back into wrt posture and typing and stuff.
7:06:39
jackdaniel
if you abstract things as macro you'll type less, your wrists will heal back and we'll praise the elaborate macro system in Common Lisp ;-)
7:09:11
elderK
:( Aye. I've had it... for some time. Other than get a new keyboard and try to adjust my angles - and make sure I don't "skip" exercizes, I'm not sure what else to do.
7:09:53
elderK
I mean, from what you've said, you know how it goes. Sometimes, it's merely annoying. Other times, it's so bad you have trouble holding a cup.
7:10:46
elderK
One thing I need, is a proper... desk space. I have a very... skewed setup, mostly due to space.
7:18:54
oni-on-ion
ive no desk or chair, on floor, need to work something out here for the real coding sessions
7:21:36
jackdaniel
given lack of context answer it is a list with letter n in front is as good as any other