Tumgik
#specify muse if you have a particular one in mind. c:
hamliet · 5 years
Text
The Man-God: BSD’s Dostoyevsky and Demons’ Kirillov
So, I finally read Bungou Stray Dogs. And y’all, I freaking love this manga. It’s got themes of life, grief, death, trauma, and is chock-full of literary references and puns. 
Tumblr media
Shocking no one, one of my favorite characters--the reason I started reading the story--is Dostoyevsky, since I’m... rather an admitted fangirl of Dostoyevsky’s novels. I’ve reread each of them at least twice and some (C&P) up to five times. Clearly BSD’s Dostoyevsky not the hopeful, faithful author, but he’s definitely a fascinating antagonist whose arc is digging into the themes of Dostoyevsky the writer’s novels--with a particular focus on the two novels that are my very favorite novels ever written, by anyone, in history: Crime and Punishment and Demons. 
But in truth, it draws more from Demons than from Crime and Punishment, right down to having BSD!Dostoyevsky directly quote it.
Demons is far, far less popular that Crime and Punishment, The Brothers Karamazov, and even The Idiot, so I was really surprised to see how often it’s been referenced in BSD (The reason it’s less popular is honestly justified: the first 100 pages are paced... horribly, but the rest of the novel is so powerful that I can overlook that). It’s been translated under a variety of titles as well: The Possessed, The Devils, and the most recent is Demons so that’s what we’re going with in this meta.
Pssst--look at how often BSD!Dostoyesvky is associated with demons or devils:
Tumblr media Tumblr media
Yet Demons has been popular with literary theorists (one well-known critic has described it as containing “the most harrowing scene in all of fiction,” an assessment I’d agree with--and this is the scene I’m going to discuss in detail) and existentialists like Camus (sorry Camus). Anyways, I have a soft spot for Demons because it contains my very favorite character in existence: Alexei Nilyich Kirillov, who is the character BSD!Dostoyesvky directly quotes.
Tumblr media
@blackandwhitemusician did a great analysis of the similar philosophies BSD!Dostoyevsky shares with Crime and Punishment’s Raskolnikov, but I want to talk about how BSD!Dostoyevsky is also modeled after Kirillov’s philosophical ideas. This isn’t to say he embodies them, because Kirillov is decidedly not a villain unlike BSD!Dostoyevsky, but BSD!Dostoyevsky definitely draws heavily from Kirillov’s ideals.
Kirillov is a character who, like Raskolnikov, embodies the contradictions of human nature, but in a hyperbolic way. He's noted to have a "calm but warm and kindly expression"and adores children, playing with them, and he even helps his friend Shatov's wife give birth (he's endearingly awkward and scared for the whole ordeal). He affirms that he is “fond of life” and yet he is determined, from the moment we meet him, to shoot himself as suicide because in doing so he will save himself and the world. 
Tumblr media
Kirillov’s reasoning is complex and at the same time, spotty, and stems from a deep despair and disgust with human sin. Sound familiar?
Tumblr media Tumblr media
Time is also a major motif with BSD! Dostoyevsky and with Kirilllov. He does not believe in time as more than an “idea.” He insists that “life exists, but death doesn’t at all… [I believe] in eternal life here. There are moments, you reach moments, and time suddenly stands still, and it will become eternal.”
Tumblr media
(Clocks constantly appear in BS chapter 42, Dostoyevsky’s introduction, as well.)
Kirillov also draws from other philosophies such as Descartes’ “I think, therefore I am,” affirming that “man is unhappy because he doesn’t know he’s happy… If they knew that it was good for them, it would be good for them, but as long as they don’t know it’s good for them, it will be bad for them. That’s the whole idea, the whole of it… They’ll find out that they’re good and they’ll all become good, every one of them.”
In other words, reality is what Kirillov makes of it in his own mind, which is what BSD!Dostoyevsky hints his ability is (but it isn’t).
Tumblr media Tumblr media
It’s still a belief BSD!Dostoyevsky holds: that his beliefs create reality.
Tumblr media
Kirillov muses, in conversation with his friend Stavrogin (bold is Kirillov):
“He who teaches that all are good will end the world.”
“He who taught it was crucified.”
“He will come, and his name will be the man-god.”
“The god-man?”
“The man-god. That’s the difference.”
In BSD, anything written in The Book becomes truth, and Dostoyevsky plans to use it to rid the world of the sins of ability-users. Similarly, Kirillov plans to use his decision to set people free, and Pyotr plans to use Kirillov’s mental instability and philosophical suicide to erase consequences for his own sins. And as Kirillov also believes this will make moments heaven, Dostoyevsky expresses (using religious language) that this will make a heavenly reality as well:
Tumblr media
As Demons goes on, we find out that Pyotr Stepanovich had struck a deal with Kirillov. Since Kirillov really tries to believe that everyone and everything is good, when Pyotr asks him to kill himself and write a note specifying something Pyotr won’t specify until the time comes, to help Pyotr, Kirillov agrees. Pyotr notes that he doesn’t tell Kirillov what he plans—to have Kirillov take the blame for the murder of their mutual friend Shatov, which Pyotr commits—because he thinks that if Kirillov knows in advance, “Kirillov could not be relied upon.”
The irony, of course, is that by seeking to prove the ultimate will in the universe is of the individual, that the individual is his/her own god, Kirillov becomes an unwitting tool in Pyotr Stepanovich’s terrible plots. He contributes to the unjust death of someone he cares deeply for by taking the blame. And Kirillov did not want this at all. When Pyotr comes to collect, he realizes what he’s done (bold is Kirillov_:
“He is dead!” cried Kirillov, jumping up from the sofa.
“He died at seven o’clock this evening, or rather, at seven o’clock yesterday evening, and now it’s one o’clock.”
“You have killed him!”
“You are a strange man, though, Kirillov; you knew yourself that the stupid fellow was bound to end like this. What was there to foresee in that? I made that as plain as possible over and over again. Shatov was meaning to betray us; I was watching him, and it could not be left like that. And you too had instructions to watch him; you told me so yourself three weeks ago.…”
“I won’t write that I killed Shatov … and I won’t write anything now. You won’t have a document!”
Pyotr refuses to leave until Kirillov is dead, and Kirillov explains that “I won’t put it off; I want to kill myself now: all are scoundrels.” The exact opposite of what he expressed before about things being good.
"He’s guessed the truth at last! Can you, Kirillov, with your sense, have failed to see till now that all men are alike, that there are none better or worse, only some are stupider, than others, and that if all are scoundrels (which is nonsense, though) there oughtn’t to be any people that are not?”
And then we see what motivates Kirillov is a desperate need to have a reason to match his desire to live. It’s literally one of the main themes of Bungo Stray Dogs (bold is Kirillov):
 “If you stopped yourself, you become God; that’s it, isn’t it?”
“Yes, I become God.”
“Let it be comfort. God is necessary and so must exist… But I know He doesn’t and can’t… Surely you must understand that a man with two such ideas can’t go on living?”
Tumblr media
And of course, this is BSD!’s Dostoyevsky in what I am betting is a direct quote from Demons as translated into Japanese: If god does not exist, then I am god.
Tumblr media Tumblr media
His man-god belief, like Dostoyevsky’s in BSD, are explained thusly (bold is Kirillov):
“I’ve always been surprised at every one’s going on living,” said Kirillov, not hearing his remark.
...
“Hold your tongue; you won’t understand anything. If there is no God, then I am God.”
“There, I could never understand that point of yours: why are you God?”
“If God exists, all is His will and from His will I cannot escape. If not, it’s all my will and I am bound to show self-will.”
“Self-will? But why are you bound?”
“Because all will has become mine. Can it be that no one in the whole planet, after making an end of God and believing in his own will, will dare to express his self-will on the most vital point? It’s like a beggar inheriting a fortune and being afraid of it and not daring to approach the bag of gold, thinking himself too weak to own it. I want to manifest my self-will. I may be the only one, but I’ll do it.”
That’s a direct quote.
BSD!Dostoyevsky manipulates human will to lead people into committing suicide, and is killing them to create a new world without the sins of ability-users:
Tumblr media
Kirillov says this right before he finally writes the false confession to Stavrogin’s murder and kills himself:
“Man has done nothing but invent God so as to go on living, and not kill himself; that’s the whole of universal history up till now. I am the first one in the whole history of mankind who would not invent God. Let them know it once for all...
“I am awfully unhappy, for I’m awfully afraid. Terror is the curse of man.… But I will assert my will, I am bound to believe that I don’t believe. I will begin and will make an end of it and open the door, and will save. That’s the only thing that will save mankind and will re-create the next generation physically; for with his present physical nature man can’t get on without his former God, I believe. For three years I’ve been seeking for the attribute of my godhead and I’ve found it; the attribute of my godhead is self-will! That’s all I can do to prove in the highest point my independence and my new terrible freedom. For it is very terrible. I am killing myself to prove my independence and my new terrible freedom.”
Yet Kirillov is inventing god: himself. He signs the paper and then does kill himself, but it’s not without the last terrible, terrifying realization that he does not want to die. He wants to live. And he fights Pyotr, biting his finger nearly off, before committing suicide. But Kirillov, as wrong and tragic as his philosophy is, is the one who recognizes the theme of Demons.
“Stavrogin, too, is consumed by an idea,” Kirillov said gloomily, pacing up and down the room.
The point of the entire tragedy in Demons is basically if you are consumed by an idea, it will turn you into a devil. Kirillov is, along with Shatov, perhaps the most likeable main character in Demons (others are far more horrifying as their various political, religious, and philosophical ideas take them over). And so is Dostoyevsky in BSD: consumed by his ideas, convinced his will is all that matters.
It won’t end well.
594 notes · View notes
flowcrsoul · 4 years
Text
Tumblr media
@chordbound​ asked   :    ☀    -   SALTY AF MUNDAY MEME (ACCEPTING)
Tumblr media
☀  -  WHAT’S YOUR RP PET PEEVE?
I’m eternally c r y i n g when memes / starter calls / etc. and I make it clear you have to specify muse, and then someone doesn’t, and when I just pick the muse I think will Fit Best, the starter gets totally ignored. Along the same vein, I also always die when I do plotting and I’m like “hey any particular muse you’re interested in?” and then they say “whatever you feel like” and when I pitch something and they ghost me / I write it and then they, once again, ignore it and never respond. I am not a mind reader. I have no idea which muse anyone wants because I have such a wide range. I promise I am never offended when people want a specific muse, but please be upfront instead of ignoring me when I inevitably write a starter with a muse I thought fit best but Wasn’t the One Someone Actually Wanted.
1 note · View note
dailytechnologynews · 5 years
Photo
Tumblr media
Musings on Vega / GCN Architecture
Originally posted to /r/AMD, but someone asked that I copy/paste it here to /r/hardware.
In this topic, I'm just going to stream some ideas about what I know about Vega64. I hope I can inspire some programmers to try to program their GPU! Also, If anyone has more experience programming GPUs (NVidia ones even), please chime in!
For the most part, I assume that the reader is a decent C Programmer who doesn't know anything about GPUs or SIMD.
Vega Introduction
Before going further, I feel like its important to define a few things for AMD's Vega Architecture. I will come back later to better describe some concepts.
64 CUs (Compute Units) -- 64 CUs on Vega64. 56 CUs on Vega56.
16kB L1 (Level 1) data-cache per CU
64kB LDS (Local Data Store) per CU
4-vALUs (vector Arithmetic Logic Unit) per CU
16 PE (Processing Elements) per vALU
4 x 256 vGPRs (vector General Purpose Registers) per PE
1-sALU (scalar Arithmetic Logic Unit) per CU
8GB of HBM2 RAM
Grand Total: 64 CUs x 4 vALUs x 16 PEs == 4096 "shaders", just as advertised. I'll go into more detail later what a vGPR or sGPR is, but lets first cover the programmer-model.
GPU Programming in a nutshell
Here's some simple C code. Lets assume "x" and "y" are the input to the problem, and "output" is the output:
for(int i=0; i<1000000; i++){ // One Million Items output[i] = x[i] + y[i]; }
"Work Items", (SIMD Threads in CUDA) are the individual units of work that the programmer wishes to accomplish in parallel with each other. Given the example above, a good work item would be "output[i] = x[i] + y[i]". You would have one-million of these commands, and the programmer instinctively knows that all 1-million of these statements could be executed in parallel. OpenCL, CUDA, HCC, and other grossly-parallel languages are designed to help the programmer specify millions of work-items that can be run on a GPU.
"NDRange" ("Grid" in CUDA) specifies the size of your work items. In the example "for loop" case above, 1000000 would be the NDRange. Aka: there are 1-million things to do. The NDRange or Grid may be 2-dimentional (for 2d images), or 3-dimentional (for videos).
"Wavefronts" ("Warp" in CUDA) are the smallest group of work-items that a GPU can work on at a time. In the case of Vega, 64-work items constitutes a Wavefront. In the case of the for-loop described earlier, a wave-front would execute between [0, 1, 2, 3... 63] iterations together. A 2nd wave front would execute [64, 65, 66, 67, ... 127] together (and probably in parallel).
"Workgroups" ("Thread Blocks" in CUDA) are logical groups that the programmer wants to work together. While Wavefronts are what the system actually executes, the Vega system can combine up to 16-wavefronts together and logically work as a single Workgroup. Vega64 supports workgroups of size 1 through 16 Wavefronts, which correlates to 64, 128, ... 1024 WorkItems (1024 == 16 WaveFronts * 64 Threads per Wavefront).
In summary: OpenCL / CUDA programmers setup their code. First, they specify a very large number of work items (or CUDA Threads) which represents parallelism. For example: perhaps you want to calculate something on every pixel of a picture, or calculate individual "Rays" of a Raytracer. The programmer then groups the work items into workgroups. Finally, the GPU itself splits workgroups into Wavefronts (64-threads on Vega).
SIMD Segue
Have you ever tried controlling multiple characters with only one controller? When you hook up one controller, but somehow trick the computer into thinking it is 8-different-controllers? SIMD: Single Instruction Multiple Data, is the GPU-technique for actually executing these thousands-of-threads efficiently.
The chief "innovation" of GPUs is just this multi-control concept, but applied to data instead. Instead of building these huge CPU cores which can execute different threads, you build tiny GPU cores (or shaders) which are forced to play the same program. Instead of 8x wide (like in the GIF I shared), its 64x wide on AMD.
To handle "if" statements or "loops" (which may vary between work-items), there's an additional "execution mask" which the GPU can control. If the execution-mask is "off", an individual thread can be turned off. For example:
if(foo()){ doA(); // Lets say 10 threads want to do this } else { doB(); // But 54 threads want to do this }
The 64-threads of the wavefront will be forced to doA() first, with the 10-threads having "execution mask == on", and with the 54-remaining threads having "execution mask == off". Then, doB() will happen next, with 10-threads off, and 54-threads on. This means that any "if-else" statement on a GPU will have BOTH LEGS executed by all threads.
In general, this is called the "thread divergence" problem. The more your threads "split up", the more legs of if-statements (and more generally: loops) have to be executed.
Before I reintroduce Vega's Architecture, keep the multiple-characters / one-controller concept in mind.
Vega Re-Introduction
So here's the crazy part. A single Vega CU doesn't execute just one wavefront at a time. The CU is designed to run upto 40 wavefronts (x 64 threads, so 2560 threads total). These threads don't really all execute simultaneously: the 40-wavefronts are there to give the GPU something to do while waiting for RAM.
Vega's main memory controller can take 350ns or longer to respond. For a 1200MHz system like Vega64, that is 420 cycles of waiting whenever something needs to be fetched from memory. That's a long time to wait! So the overall goal of the system, is to have lots of wavefronts ready to run.
With that out of the way, lets dive back into Vega's architecture. This time focusing on CUs, vALUs, and sALUs.
64 CUs (Compute Units) -- 64 CUs on Vega64.
4-vALUs (vector Arithmetic Logic Unit) per CU
16 PE (Processing Elements) per vALU
4 x 256 vGPRs (vector General Purpose Register) per PE
1-sALU (scalar Arithmetic Logic Unit) per CU
The sALU is easiest to explain: sALUs is what handles those "if" statements and "while" statements I talked about in the SIMD section above. sALUs track which threads are "executing" and which aren't. sALUs also handle constants and a couple of other nifty things.
Second order of business: vALUs. The vALUs are where Vega actually gets all of their math power from. While sALUs are needed to build the illusion of wavefronts, vALUs truly execute the wavefront. But how? With only 16-PEs per vALU, how does a wavefront of size 64 actually work?
And btw: your first guess is likely wrong. It is NOT from #vALUs x 16 PEs. Yes, this number is 64, but its an utterly wrong explanation which tripped me up the first time.
The dirty little secret is that each PE repeats itself 4-times in a row, across 4-cycles. This is a hidden fact deep in AMD documentation. In any case, 4-cycles x 16 PE == 64 Workitems per vALU. x4 vALUs == 256 work-items per Compute Unit (every 4 clock cycles).
Why repeat themselves? Because if a simple addition takes 4-clock cycles to operate, then Vega only has to perform ~30 math operations while waiting for RAM (remember: 100ns, or 120-clock cycles, to wait for RAM to respond). Repeating commands over-and-over again helps Vega to hide the memory-latency problem.
Full Occupancy: 4-clocks x 16 PEs x 4 vALUs == 256 Work Items
Full Occupancy, or more like "Occupancy 1", is when each CU (compute unit) has one-work item for each physical thread that could run. Across the 4-clock cycles, 16 PEs, and 4 vALUs per CU, the Compute Unit reaches full occupancy at 256 work items (or 4-Wavefronts).
Alas: RAM is slow. So very, very slow. Even at Occupancy 1 with super-powered HBM2 RAM, Vega would spend too much time waiting for RAM. As such, Vega supports "Occupany 10"... but only IF the programmer can split the limited resources between threads.
In practice, programmers typically reach "Occupancy 4". At occupancy 4, the CU still only executes 256-work items every 4-clock cycles (4-wavefronts), but the 1024 total items (16-wavefronts) give the CU "extra work" to do whenever it notices that one wavefront is waiting for RAM.
Memory hiding problem
Main Memory latency is incredibly slow, but also is variable. RAM may take 350 or more cycles to respond. Even LDS, may respond in a variable amount of time (depending on how many atomic operations are going on, or bank-conflicts).
AMD has two primary mechanisms to hide memory latency.
Instruction Level -- AMD's assembly language requires explicit wait-states to hold the pipeline. The "s_waitcnt lgkmcnt(0)" instruction you see in the assembly is just that: wait for local/global/konstant/message counter to be (zero). Careful use of the s_waitcnt instruction can be used to hide latency behind calculations: you can start a memory load to some vGPRs, and then calculate with other vGPRs before waiting.
Wavefront Level -- The wavefronts at a system-level allow the CU to find other work, just in case any particular wavefront gets stuck on a s_waitcnt instruction.
While CPUs use out-of-order execution to hide latency and search for instruction-level parallelism... GPUs require the programmer (or compiler) to explicitly put the wait-states in. It is far less flexible, but far cheaper an option to do.
Wavefront level latency hiding is roughly equivalent to a CPU's SMT / Hyperthreading. Except instead of 2-way hyperthreading, the Vega GPU supports 10-way hyperthreads.
Misc. Optimization Notes
On AMD Systems, 64 is your magic minimum number. Try to have at least 64 threads running at any given time. Ideally, have your workload evenly divisible by 64. For example, 100 threads will be run as 64 thread wavefront + 36 thread wavefront (with 28 wasted vALU states!). 128 threads is more efficient.
vGPRs (vector General Purpose Registers) are your most precious resource. Each vGPR is a 32-bit of memory that executes at the full speed of Vega (1-operation every 4 clock cycles). Any add, subtract, or multiply in any work-item will have to travel through a vGPR before it can be manipulated. vGPRs roughly correlate to "OpenCL Private Memory", or "CUDA Local Memory".
At occupancy 1, you can use all 256 vGPRs (1024 bytes). However, "Occupancy 1" is not good enough to keep the GPU busy when its waiting for RAM. The extreme case of "Occupancy 10" gives you only 25 vGPRs to work with (256/10, rounded down). A reasonable occupancy to aim for is Occupancy 4 and above (64 vGPRs at Occupancy 4)
FP16 Packed Floats will stuff 2x16-bit floats per vGPR. "Pack" things more tightly to save vGPRs and achieve higher occupancy.
The OpenCL Compiler, as well as HCC, HIP, Vulkan compilers, will overflow OpenCL Private Memory into main-memory (Vega's HBM2) if it doesn't fit into vGPRs. There are compiler flags to tune how many vGPRs the compiler will target. However, your code will be waiting for RAM on an overflow, which is counterproductive. Expect a lot of compiler-tweaking to figure out what the optimal vGPRs for your code will be.
sGPRs (scalar General Purpose Registers) are similarly precious, but Vega has a lot more of them. I believe Vega has around 800 SGPRs per SIMD unit. That is 4x800 SGPRs per CU. Unfortunately, Vega has an assembly-language limit of 102 SGPRs allocated per wavefront. But an occupancy 8 Vega system should be able to hold 100 sGPRs per wavefront.
sGPRs implement OpenCL Constant memory specification (also called CUDA Constant memory). sGPRs are more flexible in practice: as long as they are uniform across the 64-item wavefront, an sGPR can be used instead of 64-individual precious vGPRs. This can implement a uniform loop (like for(int i=0; i<10; i++) {}) without using a precious vGPR.
If you can branch using sGPR registers ("constant" across the whole 64-item wavefront), then you will not need to execute the "else". Effectively, sGPR branching never has a divergence problem. sGPR-based branching and looping has absolutely no penalty on the Vega architecture. (In contrast, vGPR-based branching will cause thread-divergence).
The sALU can operate on 64-bit integers. sGPRs are of size 32-bits, and so any 64-bit operation will use two sGPRs. There is absolutely no floating-point support on the sALU.
LDS (Local Data Store) is the 2nd fastest RAM, and is therefore the 2nd most important resource after vGPRs. LDS RAM correlates to "OpenCL Local" and "CUDA Shared". (Yes, "Local" means different things between CUDA and OpenCL. Its very confusing). There is 64kB of LDS per CU.
LDS can share data between anything within your workgroup. The LDS is the primary reason to use a large 1024-thread workgroup: the workgroup can share the entire LDS space. LDS has full support of atomics (ex: CAS) to provide a basis of thread-safe communications.
LDS is roughly 32-banks (per CU) of RAM which can respond within 2-clock ticks under ideal circumstances. (It may be as slow as 64-clock ticks however). At 1200 MHz (Vega64 base clock), the LDS has 153GBps of bandwidth per compute unit. Across the 64-CUs of Vega64, that's a grand total of 9830.4 GBps bandwidth (and it goes faster as Vega boost-clocks!). Compared to HBM2, which is only 483.8 GBps, you can see why proper use of the LDS can accelerate your code.
Occupancy will force you to split the LDS. The absolute calculation is harder to formulate, because the LDS is shared by Workgroups (and there can be 1 to 16 wavefronts per workgroup). If you have 40 Workgroups (1-wavefront per workgroup), the 64kB LDS must be split into 1638 bytes between workgroups. However, if there are 5 Workgroups (8-wavefronts aka 512 workitems per workgroup), the 64kB LDS only needs to be split into 13107 chunks between the 5-workgroups, even at max occupancy 10.
As a rule of thumb: bigger workgroups that share more data will more effectively use the LDS. However, not all workloads allow you to share data easily.
The minimum workgroup size of 1 wavefront / 64-work items is treated as special. Barriers and synchronization never has to happen! Workgroup size of 1 wavefront (64-work items) by definition executes synchronously with itself. Still, use barrier instructions (and let the compiler figure out that it can turn barriers into no-ops).
A secondary use of LDS is to use it as a manually managed cache. Don't feel bad if you do this: the LDS is faster than L1 cache.
L1 vector data cache is 16kB, and slower than even LDS. In general, any program serious about speed will use the LDS explicitly, instead of relying upon the L1 cache. Still, its helpful to know that 16kB of global RAM will be cached for your CU.
L1 scalar data cache is 16kB, shared between 4 CUs (!!). While this seems smaller than vector L1 Cache, remember that each sALU is running 64-threads / work items. In effect, the 40-wavefronts (x4 == 160 wavefronts max across 4 CUs) represents 10240 threads. But any sALU doesn't store data per-thread... it stores data per wavefront. Despite being small, this L1 scalar data cache can be quite useful in optimized code.
Profile your code. While the theoretical discussion of this thread may be helpful to understanding why your GPGPU code is slow, you only truly understand performance if you read the hard-data.
HBM2 Main Memory is very slow (~120 cycles to respond), and relatively low bandwidth ("only" 480 GBps). At Occupancy 1, there will be a total of 16384 workitems (or CUDA Threads) running on your Vega64. The 8GB of HBM2 main-memory can therefore be split up into 512kB.
As Bill Gates used to say, 640kB should be enough for everyone. Unfortunately, GPUs have such huge amounts of parallelism, you really can't even afford to dedicate that much RAM even in an "Occupancy 1" situation. The secret to GPUs is that your work-items will strongly share data with each other.
Yeah yeah yeah, GPUs are "embarassingly parallel", or at least are designed to work that way. But in practice, you MUST share data if you want to get things done. Even with "Occupancy 1", the 512kB of HBM2 RAM per work-item is too small to accomplish most embarassingly parallel tasks.
References
AMD OpenCL Optimization Guide
AMD GCN Crash Course
Advanced Shader Programming on GCN
GCN Assembly Tutorial -- Seeing the assembly helps understand how sGPR or vGPRs work, and solidify your "wavefront" ideas.
Vega Assembly Language Manual -- 247 pages of dense, raw, assembly language.
1 note · View note
nonnybusiness-blog · 7 years
Text
Dear Nonconathon Author,
My AO3 name is nonnymouse. It was already taken on Tumblr, so I chose something else.
When it comes to noncon, I prefer dark or unhappy or bad endings. It doesn’t have to be everything is awful forever, but I don’t want much happier than the rapist deciding they’re bored/through/have gotten what they wanted and leaving the victim alone. I definitely don’t want the victim getting revenge (or even planning it at the end) or the rapist ending up caught and/or punished.
If the rapist and victim end up together, it can be a kidnapping or slavery or Stockholm Syndrome situation. The victim can think it is love, but no actual rape turns to love.
Some general kinks that I enjoy as a flavoring with everything:
- Watersports (holding it, peeing in/on people, bladder control, the full umbrella)
- Spanking (including genital spanking, and hands or implements)
- Boot licking
- Corruption of innocence
- Public use (consensual and nonconsensual)
- Lingerie
- Exhibitionism
- Humiliation
- Body writing
- Piercings, tattoos, brands, and other markings of ownership
- Body modification (including amputation and fantastical modifications)
For noncon in particular, I enjoy bodily betrayal (when they physically enjoy it despite their horror/pain/etc). I am open to many kinds of rapist, from those who only view the victim as an object/toy to those who are condescendingly praising the victim for being so good to those who are calculating the rape to hurt the victim as much as personally possible.
I’m not really into plain torture, but sexualized torture is fine. I’d rather a focus on violation and noncon than torture of whatever type, but the noncon can be violent. Punching, slapping, painful holds or bondage, whatever the rapist needs to subdue the victim or helps them get their rocks off.
Also, if I requested a kink twice or more, you can assume I quite like that kink and don’t mind it showing up with a different request. You can look at my Smut Swap letter for more ideas.
If you’re inspired to write something with a plot, I will be very impressed and excited, but my prompts below focus on PWP situations. Mostly because that’s all I’m coming up with.
Animorphs - Katherine A. Applegate
Relationships:
Original Male Character(s) noncons Tobias
Yeerk!Tom Berenson noncons Jake Berenson
Warnings: 
Graphic Depictions Of Violence, Underage, Rape/Non-Con
Tags:
Betrayal/Abuse of trust
Enduring rape to distract an enemy
Family Fucktoy
Forced to Drink Piss
Victim Trying to Pretend They're Having Sex Consensually
Rapist Praising the Victim
Prompts:
For OMCs nonconning Tobias, I want Tobias put through the wringer. He’s the first woobie I remember loving, and I reveled in just how terrible his life was. This could be set precanon (but no more than a few years) in an AU where he’s in foster care (instead of neglected by family) and his foster family betrays and abuses him, or turns him into a fucktoy. Anytime it could work with bullying classmates. Adult or peer assailants are both fine. I don’t want postcanon; I don’t want any grief for Rachel mixed into the bad emotions.
For both, enduring rape to distract an enemy works well during a mission. Perhaps it could be done to convince the rapist they aren’t an Animorph?
For Yeerk!Tom noncons Jake, I’d like more focus on the emotions than the violence (although it can still be violent, of course). Perhaps the Yeerk thinks the reason Jake started acting so weird around his brother is a crush, and fucking Jake will bring him back into line? Or the whole family gets converted to Yeerks and they start fucking Jake to get him to beg to be infested, or because they see an uninfested human as just a toy? Anything with Jake being conflicted about it being his brother’s body but not his brother and knowing that he could morph into a tiger and just eat his rapist, but not doing it because that would kill his brother and reveal his identity.
Chronicles of Narnia - C. S. Lewis
Warnings:
Graphic Depictions Of Violence, Underage, Rape/Non-Con
Relationship:
Bern noncons Caspian
Tags:
Slave Training
Castration
Forced Feminization
forced bestiality
Humiliation
piss enema
Forced to Drink Piss
Sex Toys Locked on and in Their Body 24/7
Used as Fuck Furniture
Prompts:
Essentially, an AU where after the slave auction Caspian is actually stuck as Bern’s slave. Lots of degrading sex ensues where Bern muses on how sweet Caspian looks. Caspian tries to keep his composure and it only makes Bern want to push him farther and break him of his haughty bearing since he’s now a slave. It’s for his own good if he learns to accept his place. Perhaps he even makes Caspian his footstool or lamp (tied and holding a dripping candle). Or just Bern having fun with his pretty new acquisition. And I know Narnia doesn’t have modern tech, but I am fine with fantasy vibes as well as more low tech toys like cock cages and dildoes or gags or whatever.
For bestiality in Narnia, I do imagine it being with a talking animal.
Greek and Roman Mythology
Warnings:
Graphic Depictions Of Violence, Underage, Rape/Non-Con
Relationships:
The Suitors noncon Telemachus
108 Suitors noncon Penelope
Tags:
Character Forced to Watch Other Character Getting Gang Raped
Forced Exhibitionism
Public Use
Genital Mutilation
Castration
Stocks and Pillory
Objectification/Dehumanization
Prompts:
I saw this in the tagset and realized it was a thing i never knew I wanted. I imagine it as the suitors getting fed up with their wait and using Telemachus, Penelope, or both for their pleasure. If it is suitors nonconning Telemachus, perhaps they are hiding their use of her son from Penelope and she thinks she is still successfully holding them off?
I requested most of the tags I did because I imagine the suitors being very (sexually) frustrated and angry and going wild once they have a target.
I did not request the character death warning on this one; however, I am fine with the suitors snuffing Telemachus (not Penelope).
Mulan (1998)
Warnings:
Graphic Depictions Of Violence, Underage, Rape/Non-Con
Relationship:
Matchmaker noncons Mulan
Tags
Forced to Drink Piss
bimbofication
Forced Prostitution
Rape to force Marriage ('damaged goods law')
Prompts:
Whoever nominated this is brilliant. Perhaps the matchmaker is getting revenge on Mulan, or perhaps an AU where the matchmaker realizes she needs to be more hands-on to get Mulan married.
For bimbofication, there’s forcing Mulan into the perfect bride role. For forced prostitution, maybe the matchmaker trains any girl who can’t be matched into a prostitute. For rape to force marriage, perhaps once the matchmaker takes Mulan’s virginity she has to get married and can no longer resist? Anything trying to break Mulan into the mold the matchmaker thinks she should fit into.
Original Work #1 (enemy dynamic requests)
Warnings:
Graphic Depictions Of Violence, Underage, Rape/Non-Con
Relationships:
Father's Enemy noncons Son
Father's Employees noncon Son
Enemy Knight noncons Youngest Prince
Kidnapper noncons Son of Wealthy Parents
Enemy Soldier noncons Prince
Tags:
piss enema
Forced to Drink Piss
Rape as Revenge
Brainwashing
Castration
Permanent Damage
Object rape
forced bestiality
Slave auction
Prompts:
These could be fantasy or contemporary settings (or even science fiction, I suppose). In most of these I imagine the rapist having a personal loathing for the victim or what he represents, although the kidnapper might be an impersonal rapist taking advantage of the opportunity. For pairings where the gender of the rapist isn’t specified, I prefer a man, but I am fine with a woman. The group of employees could even be mixed gender. Most of these seem self evident, but for slave auction I imagine either the rapist showing off the victim’s assets in front of potential buys or it being the ending for the victim after the rapist gets bored playing with them.
Original Work #2 (contemporary bestiality)
Warnings:
Graphic Depictions Of Violence, Underage, Rape/Non-Con
Relationships:
Older Male Dogwalker & Dog noncon Female Jogger
Male Veterinarian & Dogs noncon Female Student Volunteer
Tags:
Forced to enjoy it
Mind Break
Nonconsensual Puppy Play
Nonconsensual Sex Film
Rape is live streamed
Rapist leaks video of the rape
Foreigner in a society where public use is normalized
Submission to rape as part of duty/job
unwanted arousal
Prompts:
For the dogwalker and dog noncon jogger, I see it as being an attack by a stranger, whereas I think the veterinarian and dogs noncon volunteer would be a betrayal of trust. Perhaps it is a consensual hookup until she realizes he means to make her fuck a dog. For both, I don’t want any animal abuse. I am not looking for detailed realism in the bestiality; the animals should be perfectly happy to participate and show no negative consequences.
For foreigner in a society where public use is normalized, I imagine it being an AU world where the jogger or volunteer don’t know that they’re signalling that they’re available for use. For submission to rape as part of duty/job, it could be that the volunteer doesn’t want to but know she’s agreeing to be available for sexual use to work with the animals (although perhaps she doesn’t know the dogs might join in?) and possibly the jogger is exercising between whatever job she does that makes her available. I will accept vague porn logic worldbuilding.
This should be very humiliating for the victim, especially if she starts enjoying being fucked by a dog.
Original Work #3 (fantasy bestiality)
Warnings:
Graphic Depictions Of Violence, Underage, Rape/Non-Con
Relationships:
Male Knights & Horses noncon Male Squire
Horse Thief & Horse noncon Stableboy
Hostlers & Horse noncon Horse Thief
Master of the Hounds & Hounds noncon Princess
Tags:
Victim forced to pick which hole gets raped
Humiliation
Victim stuck in a hole/wall
Victim Treated Like Sex Toy
Prompts:
Victim gets stuck in a hole in the stables/kennels/camp and the rapists decide to take advantage. Maybe the knights pick a squire for the camp to use and the victim is this season’s unlucky choice. Stableboy catches horse thief and gets nonconned to make him stay quiet (or kidnapped then nonconned). Hostlers catch horse thief and punish him then and there. Master of the Hounds decides to take the princess down a peg, possibly after she insults the master’s dogs. If you incorporate victim force to pick which hole gets raped, I think there should be anal no matter what they choose.
Original Work #4 (snuff requests)
Warnings:
Graphic Depictions Of Violence, Major Character Death, Underage, Rape/Non-Con
Relationships:
Female Praying Mantis Monster noncons Human Male
Male porn director noncons actress
Psychiatrist(s) noncon Female Patient(s)
Male Owner noncons New Female Sex Slave
Ghosts And Haunted House noncon Male Trespasser
God noncons male sacrifice
Female Trucker noncons Female Prostitute
Tags
Snuff
Victim is strapped/in chains/tied-up
Slave Training
Orgasm Denial
Raped by a Gigantic Cock
forfeiting the right to refuse
Prompts:
I grouped these together because I’m fine with snuff for any of them, but it is far from required. (Female Praying Mantis Monster noncons Human Male might be disappointing without it, but all of these are appealing situations on their own.)
In a way, this is a grab bag of pairings that simply sounded awesome to me. Lots of opportunities for erotic horror and victims in distressingly over their heads. I picked a few tags that I thought would go particularly well with them. 
I’m sorry this section is very short. I just think these pairings and tags are pretty evocative on their own, especially after all the general likes and such I’ve offered.
4 notes · View notes
maryanntorreson · 4 years
Text
Why You Forgot Everything You Learned In School (And How To Change That)
Listen, we all feel like we could use a bit of memory training. Let’s start with a small thought experiment. Take a minute to think back to your science classes in high school and see how much you can recall.
Can you explain the elements that make up an atom, or the basic principles of plant biology? How about physics, or simple chemistry? Do facts and procedures come rushing back, or do you remember your teacher’s face, or the way the room smelled after an experiment?
Everyone will have different memories, and they may have very little to do with what you were taught in class. You might not remember anything at all. It’s extraordinary how quickly we manage to forget what we crammed during all those long hours of study. Algebra. Long division. Verbs, adverbs and relative clauses. The causes of World War I. Where did it all go, we muse, years later?
It is extraordinary that so many of the world’s education systems, which are usually based on testing how well a student can recall and apply information, are designed without any real thought of how our memories work. Memory is perhaps the most fundamental factor in how human beings learn. Memory training should inform all aspects of education; instead, it’s an afterthought.
Advances in cognitive science have huge implications for how we learn and remember things. It’s time for policymakers, educators, and anyone who wants to learn something — in other words, all of us — to start listening.
It’s Gotta Be In There Somewhere
Imagine a large, dusty storeroom that contains all the things you’ve ever learned. This is what Robert Bjork, psychology professor at Stanford, calls storage space. Your phone number, the Spanish word for “cat,” the route to get back home from the pub after you’ve had one too many — all these memories are kept inside the storeroom.
So when you try in vain to recall something, the problem is not that you don’t know it. It’s a question of the retrieval strength of the memory: whether you can access it or not. You can remember your current address because it has both high retrieval strength and storage strength, but might struggle to remember your old address because although you knew it well once (high storage strength), you haven’t activated that memory in years (low retrieval strength).
So if you really want to remember something, you need to have it well-situated in your storeroom, as well as know where to find it when you need it. A lot of research in the Bjork Learning and Forgetting Lab centers around “desirable difficulties,” the gist of which is that if something is initially difficult, you will actually learn it more deeply and be able to recall it later on. Desirable difficulties include spacing, where you study in chunks rather than all in one go, testing rather than re-studying the same material, and varying the conditions of practice instead of keeping them constant.
Will This Be On The Test?
Picture the scene, the night before a big exam: coffee, notes, a faint air of panic, cramming, cramming and more cramming.
This is a perfect example of how not to learn something. One of cognitive psychology’s most robust findings, demonstrated consistently in a variety of contexts, is the importance of spaced repetition in memory training. If you want to learn something, do it in chunks over a period of time. Each time you access that memory again, you are increasing its storage strength.
But don’t just read over your notes — test yourself with a short quiz or try to explain what you’re learning to a friend. Frequent low-stakes testing can be really helpful as both a diagnostic tool (to check if you’ve really understood something) as well as an aid to memory improvement.
The spacing intervals are important. Increasing the intervals between learning sessions, and thereby reducing the accessibility of information, actually fosters deeper learning. When you struggle to remember something that you learned a few days ago, you’re forced to work hard and engage with the material more. So you might study something on Monday, do some follow up on Tuesday, take a quiz on Thursday and then another quiz the following week. The gaps between study should initially be small and gradually increase. You want the memories to be difficult to access, but not impossible (there’s no benefit to studying things a year apart).
But what if time is of the essence? Bjork’s findings suggest that interleaving can actually mimic the benefits of spacing. This is where you chop and change what you’re learning. By interspersing different elements, you are effectively “reloading” each time, forcing yourself to learn new strategies to retrieve information. A random order is best.
Get In The Cue
Neuroscientist Daniel Willingham calls memories “residues of thought.” But simply thinking about something is not necessarily enough to create a memory. Why do we remember the things we do? You might remember a beautiful, quaint old ice cream parlor you visited last summer, but not the flavor of ice cream you had. Why would you remember one aspect but not the other?
Much of what we remember is not a result of conscious effort. We remember the aspect of an experience that we think about the most. So if you see a barking dog while going for a stroll, you might think about the sound of the bark, or how the dog looks, or you might wonder if it’s annoying for the neighbors. How you think about the experience will shape that particular memory.
Everyone has had the experience of visiting a place they knew as a child and having memories flood back. Cues are what help us retrieve memories. The creation of specific and detailed cues is the key to remembering things, and Willingham argues that missing or ambiguous cues are a major reason why we can’t recall something. He cites an example of saying to a friend, “Here’s that $20 I owe you,” and the friend saying “You don’t owe me $20.” A better cue would offer more information, like: “Remember, we were at Macy’s and I wanted to buy that shirt, but their computer wouldn’t take my card so I had to borrow cash?”
Let’s try another little experiment:
Look at the following list, and then look away and write down the items. Have a friend read the list to you, if possible.
apple, blueberry, grape, orange, raspberry, watermelon, fig
Did you get most of them? Probably. Your mind instinctively says “This is a list of fruits that I just heard.” Now do the same for this list:
apricot, banana, peach, pear, grapefruit, blackberry, plum
If you didn’t get as many, there’s a reason for that. The cue, “a list of fruits that I just heard,” becomes crowded with correct words (from this list) and incorrect words (from the previous list). If you do a third list of fruits, chances are you will remember even fewer of them. But this one should be easier:
doctor, soldier, firefighter, teacher, chef, secretary
With this list, your mind is able to form a new cue, different and unambiguous.
Think Of A Particular Duck
Willingham identifies several memory training techniques to create effective cues:
Have you ever studied music? If so, how do you remember the lines of the treble clef? My piano teacher taught me that Every Good Boy Deserves Fruit (E-G-B-D-F). When I get east and west mixed up, I remind myself to Never Eat Soggy Weetbix. This method is known as acrostics. Similarly, we can use acronyms, such as HOMES to indicate the great lakes (Huron, Ontario, Michigan, Erie, Superior).
Language learners tackling foreign vocabulary might want to use keywords. If we look at the Spanish word for mushrooms, champiñones, we can see it is very similar to the English word champions. To make a memory cue, try visualizing a champion boxer, arms held aloft in the ring, with mushrooms on his hands instead of boxing gloves.
Music and rhymes are extremely powerful. No doubt you can recall childhood nursery rhymes and chants, and probably a few advertising jingles as well. Songs and chants are predominantly used with young children but are also very effective for adult learners.
Mnemonic associations are best for more abstract things. What if you can never remember if a school administrator is a principal or principle? Just remember that she’s your pal. If you’re learning devnagri (Hindi) script, you might think that the symbol for ja, ज, has a hook, which would be a good place to hang a jacket.
It’s best if these memory training cues are personalized, bizarre, memorable, and specific. Willingham argues that if you want to create a visual image of a duck, “you must think of a particular duck. You must specify its size, proportions, coloring, posture, etc. All of these details make the duck more distinctive, and thus less likely to be confused with other ducks, and therefore a better cue to the target memory.”
Finally, here are a couple of less well-known suggestions if you have to remember a list. One is using pegwords. First, you make up some simple rhyming pegwords like “one is a bun, two is a shoe, three is a tree.” Then if you’re trying to memorize “onion, duck, artist,” you could picture a sad man holding a bun with only onions in it, a duck trying to climb a ladder while wearing oversized shoes, and finally an artist falling out of a tree.
Perhaps the oldest mnemonic device is the method of loci or “memory palace” technique espoused by the Greeks and Romans. This involves creating a kind of mental geography — say a walk from your front door out to the street — and using strong imagery to link certain words to key points along your “mental walk.” Again, bizarre and distinctive imagery works best.
Memory Training Is Forever
Before you rush off to study at spaced intervals, creating clever mnemonic cues to help you with your Italian verbs, one final word of warning:
We constantly overestimate how well we know something. Feeling like you know something is not a very accurate guide — both children and adults consistently “think their learning is more complete than it really is,” according to Willingham.
His rule of thumb is to study until you know the material, and then keep studying, for about another 20 percent of the time you’ve already spent. In other words, because we overestimate our knowledge, we should overlearn by about 20 percent.
The latest in curriculum design from the UK, “mastery curriculum,” is heading in this direction. Its principles include spending more time on fewer subjects, interleaving topics so that learners encounter them early on and then are exposed to them repeatedly over time, and using frequent low-stakes testing, spaced out over varying intervals, to stimulate deeper learning and recall. Babbel and other educational apps also incorporate spaced repetition practices and short quizzes to aid memory retention.
In a world where the importance of human memory seems to be ever diminishing, our understanding of the crucial role of memory training in learning is moving in quite the opposite direction.
The post Why You Forgot Everything You Learned In School (And How To Change That) appeared first on Babbel.
Why You Forgot Everything You Learned In School (And How To Change That) published first on https://premiumedusite.tumblr.com/rss
0 notes
Text
Crafting Some Composition?A few recommendations For everyone
Creating An important #Poetry?A few recommendations To suit your needsVery little infallible recommendation can be specified about how to produce a #poetry, as poets create their own unique techniques on time. Then again, why not try these workout routines to produce the organic text. Tips 3. System. Pay close attention to:     The length of time can be acquired? Starting up creases can be dashed right off during first minutes and yet conclusion can take days or weeks. Use caution, not to mention aim maybe designed for 5-10 outlines during an night. Please don’t wait for the muse, yet jot down what you could when you might. Bizarre words and contours have reached the very least anything to work with, and much more striking compared to a ignore article.     Once you publish everything or perhaps tell stories, on earth do you quite often begin from your magazine piece of writing you look at, a strong story said to or maybe overheard, something noticed, a standard depiction? Find a poetry in how that you are beloved using.     What types of poem received you will in the mind? A post, a remark, some sort of homage, an important protest, a good elegy, a character examine, any funeral? Skim by using current instances to implement your body out.     Concerning troubles included. Suppose the composition was a new newspaper content: what issues does one make, with what information as well as unqualified discussions? Got it together with each other? Begin and then: allow yourself to move. Some thing may come out. Three. Ensure that the model’s extremely important to you actually. Passing associated with a friend, rites with penetration, all of the bad flavor for to begin with adore, an example of own life is switching factors, ancient transgressions, a good childhood years automobile accident, injustices, unknown anxieties... Have a cover on the instant or even last man if ever the submissions are very very own or difficult. 3 or more. Allow yourself up to reverie. Take a stroll, then lie on the chair and shut up your eyes, hit the sack, removed the encircling earth. Jot down the things that arrive you will, with what ever structure or perhaps stress and confusion. You can put scribblings away for any current, and just offered the particular directory hours or simply many weeks soon after to observe just what exactly you might have. You realize you’ll be surprised about precisely what is in the human body. 3. No cost all of the curiosity. Consider:     Instant penning. Express A few minutes at a time, constantly, under no circumstances avoiding. Read the stuff once you’ve collected within five articles or thereabouts, in addition to group of friends a single thing intriguing.     Go for a colleague to mention ideas with little thought. Get the exact initial impulse which comes back. Generate a composition a couple of of the thoughts.     Start some sort of date or even academic journal (your own or even another individual’s) and note down the primary experience on the subject of some following internet pages. Earn a poem of them.     Refer to, because directly and often, numerous recurring ambition or possibly headache. Turn back arrangement, and then make an important poem. 7. Function with metaphors. Acquire five traces associated with any contemporary composition. Know the metaphors. And then make use of a synonym replacement tool to access options for the actual metaphors. Afterward duplicate when using the selections, searching for thoughts a little more forward aloof from any files. Believe pretty deep with three or thereabouts from the even more attention-grabbing written text, and find out in the event that can easily condensation a fabulous poetry making use of individuals. A few. Create an important pastiche. Create a stanza of an item well recognized along with rewrite the idea making sure that a fabulous) a idiom is definitely solely completely different, d) the actual marks last part through foolishness rhymes, g) this bit is actually ruined when using the lowest practical adjust, chemical) typically the section feels altogether contemporary as well as modern-day. Eight. Have some carry on to line of your poems (which usually must not be fine). Continue on from there, missing altogether exactly what you drawn up earlier than. 10. Duplicate some of these exercise movements with stuff swopped by having a man undergraduate or poet.
Read more incredibly exciting quotes always follow this link => bit.ly/become-present-c ✌️ 
0 notes